《音视频开发进阶指南:基于Android与iOS平台的实践》源码下载地址

年前买了这本书,想看下随书源码,一开始从CSDN下载频道下载电子书+源码,但那个源码不是这边书的。

从网上找了一段时间,终于找到了(其实在书的前言/勘误和支持中有给出),作者展晓凯的相关网站如下:

作者展晓凯的网站:影音开发者联盟

http://www.music-video.cn/

其中有本书的代码地址:

github代码仓库地址

http://github.com/zhanxiaokai

所有代码仓库地址:

https://github.com/zhanxiaokai?tab=repositories

应广大读者要求,已经将Video-recorder项目迁移到AndroidStudio环境

https://github.com/zhanxiaokai/Android-as_video_recorder

例如下载Android-as_video_recorder的源码

https://github.com/zhanxiaokai/Android-as_video_recorder

通过以下方法下载,但最终下载失败:

$ git clone https://github.com/zhanxiaokai/Android-as_video_recorder.git
正克隆到 'Android-as_video_recorder'...
remote: Enumerating objects: 198, done.
remote: Counting objects: 100% (198/198), done.
remote: Compressing objects: 100% (148/148), done.
error: RPC failed; result=56, HTTP code = 200 bytes/s   
fatal: The remote end hung up unexpectedly
fatal: 过早的文件结束符(EOF)
fatal: index-pack failed

直接选择Download ZIP直接跳转到error界面了:

看来源码下载真的是波折不断啊。

最终过了几个小时尝试了数次之后才下载成功:

/zhanxiaokai$ git clone https://github.com/zhanxiaokai/Android-as_video_recorder.git
正克隆到 'Android-as_video_recorder'...
remote: Enumerating objects: 198, done.
remote: Counting objects: 100% (198/198), done.
remote: Compressing objects: 100% (148/148), done.
remote: Total 1099 (delta 42), reused 119 (delta 31), pack-reused 901
接收对象中: 100% (1099/1099), 8.56 MiB | 42.00 KiB/s, done.
处理 delta 中: 100% (328/328), done.
检查连接... 完成。

/zhanxiaokai$ ls
Android-as_video_recorder

下载不成功主要还是网络不好,可能是作者托管的github所在的服务器有点问题,其他github上的代码都可以正常下载,这还是第一次遇到这种情况。

好事多磨,总算下载下来了:)

另外,下载Download ZIP比git clone成功率要高些。

--------------

原作者的Android-AudioPlayer是Eclipse工程,代码地址如下:

https://github.com/zhanxiaokai/Android-AudioPlayer

本人导入Android Studio后的工程如下:

https://download.csdn.net/download/ameyume/11145806

《音视频开发进阶指南:基于Android与iOS平台的实践》第4张AudioPlayer的源码,由原作者的eclipse工程移植到Android Studio工程。在Android Studio 3.2,API 28编译通过。至于测试mp3文件,需要自己push到/sdcard/131.mp3

 

已标记关键词 清除标记
相关推荐
音视频开发进阶指南:基于AndroidiOS平台实践 (展晓凯 魏晓红著) 【ps:书籍内容代码量较少,过多的是用文字描述。 按需下载】 目录推荐序一推荐序二前言第1章 音视频基础概念1.1 声音的物理性质1.1.1 声音是波1.1.2 声波的三要素1.1.3 声音的传播介质1.1.4 回声1.1.5 共鸣1.2 数字音频1.3 音频编码1.4 图像的物理现象1.5 图像的数值表示1.5.1 RGB表示方式1.5.2 YUV表示方式1.5.3 YUV和RGB的转化1.6 视频的编码方式1.6.1 视频编码1.6.2 编码概念1.7 本章小结第2章 移动端环境搭建2.1 在iOS上如何搭建一个基础项目2.2 在Android上如何搭建一个基础项目2.3 交叉编译的原理与实践2.3.1 交叉编译的原理2.3.2 iOS平台交叉编译的实践2.3.3 Android平台交叉编译的实践2.3.4 使用LAME编码MP3文件2.4 本章小结第3章 FFmpeg的介绍与使用3.1 FFmpeg的编译与命令行工具的使用3.1.1 FFmpeg的编译3.1.2 FFmpeg命令行工具的使用3.2 FFmpeg API的介绍与使用3.3 FFmpeg源码结构3.3.1 libavformat与libavcodec介绍3.3.2 FFmpeg通用API分析3.3.3 调用FFmpeg解码时用到的函数分析3.3.4 调用FFmpeg编码时用到的函数分析3.3.5 面向对象的C语言设计3.4 本章小结第4章 移动平台下的音视频渲染4.1 AudioUnit介绍与实践4.2 Android平台的音频渲染4.2.1 AudioTrack的使用4.2.2 OpenSL ES的使用4.3 视频渲染4.3.1 OpenGL ES介绍4.3.2 OpenGL ES的实践4.3.3 上下文环境搭建4.3.4 OpenGL ES中的纹理4.4 本章小结第5章 实现一款视频播放器5.1 架构设计5.2 解码模块的实现5.3 音频播放模块的实现5.3.1 Android平台的音频渲染5.3.2 iOS平台的音频渲染5.4 画面播放模块的实现5.4.1 Android平台的视频渲染5.4.2 iOS平台的视频渲染5.5 AVSync模块的实现5.5.1 维护解码线程5.5.2 音视频同步5.6 中控系统串联起各个模块5.6.1 初始化阶段5.6.2 运行阶段5.6.3 销毁阶段5.7 本章小结第6章 音视频的采集与编码6.1 音频的采集6.1.1 Android平台的音频采集6.1.2 iOS平台的音频采集6.2 视频画面的采6.2.1 Android平台的视频画面采集6.2.2 iOS平台的视频画面采集6.3 音频的编码6.3.1 libfdk_aac编码AAC6.3.2 Android平台的硬件编码器MediaCodec6.3.3 iOS平台的硬件编码器AudioToolbox6.4 视频画面的编6.4.1 libx264编码H266.4.2 Android平台的硬件编码器MediaCodec6.4.3 iOS平台的硬件编码器6.5 本章小结第7章 实现一款视频录制应用7.1 视频录制的架构设7.2 音频模块的实7.2.1 音频队列的实7.2.2 Android平台的实现7.2.3 iOS平台的实7.3 音频编码模块的实7.3.1 改造编码器7.3.2 编码器适配7.4 画面采集与编码模块的实现7.4.1 视频队列的实7.4.2 Android平台画面编码后入队7.4.3 iOS平台画面编码后入队7.5 Mux模块7.5.1 初始化7.5.2 封装和输出7.5.3 销毁资源7.6 中控系统串联起各个模块7.7 本章小结第8章 音频效果器的介绍与实践8.1 数字音频基础8.1.1 波形图8.1.2 频谱图8.1.3 语谱图8.1.4 深入理解时域与频域8.2 数字音频处理:快速傅里叶变换8.3 基本乐理知识8.3.1 乐谱8.3.2 音符的音高与十二平均律8.3.3 音符的时值8.3.4 节拍8.3.5 MIDI格式8.4 混音效果器8.4.1 均衡效果器8.4.2 压缩效果器8.4.3 混响效果器8.5 效果器实现8.5.1 Android平台实现效果器8.5.2 iOS平台实现效果器8.6 本章小结第9章 视频效果器的介绍与实践9.1 图像处理的基本原理9.1.1 亮度调节9.1.2 对比度调节9.1.3 饱和度调节9.2 图像处理进阶9.2.1 图像的卷积过程9.2.2 锐化效果器9.2.3 高斯模糊算法9.2.4 双边滤波算法9.2.5 图层混合介绍9.3 使用FFmpeg内部的视频滤镜9.3.1 FFmpeg视频滤镜介绍9.3.2 滤镜图的构建9.3.3 使用与销毁滤镜图9.3.4 常用滤镜介绍9.4 使用OpenGL ES实现视频滤镜9.4.1 加水印9.4.2 添加自定义文字9.4.3 美颜效果器9.4.4 动图贴纸效果器9.4.5 主题效果器9.5 本章小结第10章 专业的视频录制应用实践10.1 视频硬件解码器的使用10.1.1 初始化信息准备10.1.2 VideoToolbox解码H26410.1.3 MediaCodec解码H26410.2 音频效果器的集成10.2.1 Android音效处理系统的实现10.2.2 iOS音效处理系统的实现10.3 一套跨平台的视频效果器的设计与实现10.4 将特效处理库集成到视频录制项目中10.4.1 Android平台特效集成10.4.2 iOS平台特效集成10.5 本章小结第11章 直播应用的构建11.1 直播场景分析11.2 拉流播放器的构建11.2.1 Android平台播放器增加后处理过程11.2.2 iOS平台播放器增加后处理过程11.3 推流器的构建11.4 第三方云服务介绍11.5 礼物系统的实现11.5.1 Cocos2dX项目的运行原理11.5.2 关键API详解11.5.3 实现一款动画11.6 聊天系统的实现11.6.1 Android客户端的WebSocket实现11.6.2 iOS客户端的WebSocket实现11.7 本章小结第12章 直播应用中的关键处理12.1 直播应用的细节分析12.1.1 推流端细节分析12.1.2 拉流端细节分析12.2 推流端的关键处理12.2.1 自适应码率的实践12.2.2 统计数据保证后续的应对策略12.3 拉流端的关键处理12.3.1 重试机制的实践12.3.2 首屏时间的保证12.3.3 统计数据保证后续的应对策略12.4 本章小结第13章 工欲善其事,必先利其器13.1 Android平台工具详解13.1.1 ADB工具的熟练使用13.1.2 MAT工具检测Java端的内存泄漏13.1.3 NDK工具详解13.1.4 Native层的内存泄漏检测13.1.5 breakpad收集线上Crash13.2 iOS使用Instruments诊断应用13.2.1 Debug Navigator13.2.2 Time Profiler13.2.3 Allocations13.2.4 Leaks13.3 本章小结附录A 通过Ne10的交叉编译输入理解ndk-build附录B 编码器的使用细节附录C 视频的表示与
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页