
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
经过八个月的学习,极客时间中王争的设计模式之美。最近又重读两遍,真是遍受益匪浅啊,学习之后才知道代码可以这样设计这样优美的编写。觉得自己有摘录一些在学习中认为比较好的精华,以备自己以后的查用和复习。一.术语描述:面向对象编程:具有丰富的特性(封装、抽象、继承、多态),可以实现很多复杂的设计思路,是很多设计原则、设计模式等编码实现的基础;面向对象语言:是支持类或对象的语法机制,并有现成的语法机制,能

在较早的程序设计语言中,字符串是作为输入和输出的常量出现的。随着语言加工程序的发展,产生了字符串处理。这样,字符串也就作为一种变量类型出现在越来越多的程序设计语言中,同事也产生了一系列字符串的操作。字符串一般称为串,在汇编和语言的编译程序中,源程序和目标程序都是字符串数据。在事务处理程序中,顾客的姓名和地址以及货物的名称、产地和规格等一般也是作为字符串处理的。又如信息检索...
本文介绍了Android音视频编解码中Extractor和Muxer的使用流程。主要内容包括:1)使用FFmpeg进行音视频文件写入的11个关键步骤,从初始化AVFormatContext到写入数据包;2)NDK MediaMuxer的实现方式,通过HwMuxer和ProcessMuxer类完成媒体文件复用;3)对比了FFmpeg和NDK MediaMuxer在获取复用器和写入数据包操作上的差异。

当使用多于一个的着色器时,尽管大部分的uniform变量都是相同的,我们还是需要不断地设置它们,所以为什么要这么麻烦地重复设置它们呢? OpenGL为我们提供了一个叫做Uniform缓冲对象(Uniform Buffer Object)的工具,它允许我们定义一系列在多个着色器程序中相同的全局Uniform变量。当使用Uniform缓冲对象的时候,我们只需要设置相关的uniform一次

本文详细介绍了在Linux环境下交叉编译x265视频编码器到Android平台的过程。主要步骤包括:1) 下载x265_4.1源码并解压;2) 配置Android NDK(r27c)开发环境,包括路径设置和权限修改;3) 修改x265的交叉编译配置文件crosscompile.cmake,替换为Android NDK工具链;4) 处理编译过程中出现的NUMA库和NASM缺失问题;5) 调整编译配置

本文详细介绍了在MacOS 14.6.1系统上为Android平台交叉编译libx264和FFmpeg的过程。主要内容包括:1)下载libx264源码并配置NDK路径;2)编写编译脚本android_x264.sh,支持armv7、armv8、x86、x86_64架构;3)解决编译中遇到的动态库链接问题;4)将编译好的libx264集成到FFmpeg编译中,提供完整的编译脚本android_ff_

本文详细介绍了在Ubuntu 20.04系统上交叉编译LAME音频编码库为Android平台的过程。主要内容包括:1)下载LAME 3.100源码并解压;2)配置Android NDK r28c开发环境;3)编写自动化编译脚本android_lame_build.sh,支持armeabi-v7a和arm64-v8a架构;4)将编译好的LAME库集成到FFmpeg中,通过修改FFmpeg编译脚本添加

本文介绍了使用FFmpeg解码视频数据并通过ANativeWindow进行播放的实现方案。主要内容包括:1)设计线程安全队列实现解码线程和渲染线程间的数据传递;2)解码线程通过FFmpeg读取视频帧并存入队列;3)渲染线程从队列获取帧数据,转换颜色空间后通过ANativeWindow进行显示;4)实现了帧率控制机制,基于时间戳调整播放速度。系统采用双线程架构,通过条件变量实现线程同步,确保流畅播放

本文详细介绍了在Ubuntu 20.04系统上交叉编译X264库并集成到FFmpeg的完整过程。主要内容包括:1)从VideoLAN官网下载X264源码并配置编译参数;2)下载Android NDK工具链并设置交叉编译环境;3)创建编译脚本x264_build.sh,针对armv7/armv8/x86/x86_64等多种架构进行编译;4)将编译好的X264库集成到FFmpeg中,通过修改构建脚本实

本文介绍了在Windows系统通过VMware虚拟机运行Ubuntu 20.04进行Android交叉编译的过程。主要内容包括:1)安装NDK(下载r27c版本,配置环境变量);2)下载解压FFmpeg 5.1.6;3)创建编译脚本android_build1.sh,包含armeabi-v7a、arm64-v8a等平台配置;4)执行编译后生成包含头文件、so库、日志等资源的android目录。整个








