视频教程-FFmpeg打造Android万能音频播放器-Android

扫码下载「CSDN程序员学院APP」,1000+技术好课免费看

APP订阅课程,领取优惠,最少立减5元 ↓↓↓

订阅后:请点击此处观看视频课程

 

视频教程-FFmpeg打造Android万能音频播放器-Android

学习有效期:永久观看

学习时长:830分钟

学习计划:14天

难度:

 

口碑讲师带队学习,让你的问题不过夜」

讲师姓名:杨万里

移动客户端工程师

讲师介绍:从事Android移动端开发多年。主导开发过直播、电商、聊天等各种类型APP和游戏SDK;熟悉Android音视频开发、底层NDK开发等;有开源项目:https://github.com/wanliyang1990/。思路清晰,表达清楚,课程讲解通俗易懂。

☛点击立即跟老师学习☚

 

「你将学到什么?」

FFmpeg打造Android万能音频播放器视频教程,移植FFmpeg到Android平台,利用FFmpeg解码音频数据并用OpenSL ES来播放,打造Android万能播放器。

 

「课程学习目录」

1.课程简介和功能演示(每节课课件和源码均可下载)
2.FFmpeg移植Android平台(全平台除mips,ndk ffmpeg版本尽量用和课程接近的)
3.创建C++项目并导入FFmpeg动态库(新版AS创建可Q我)
4.FFmpeg解码流程
5.C++多线程、生产者和消费者模型以及C++全局调用Java方法
6.C++多线程解码音频数据
7.C++队列缓存AVpacket
8.OpenSL ES介绍并实现播放PCM数据
9.FFmpeg对音频数据重采样生成PCM数据
10.FFmpeg+OpenSL ES完成音频播放
11.添加加载、暂停、播放状态和相应回调功能
12.计算当前播放时长和获取总时长以及实现回调
13.添加停止播放功能并释放内存
14.添加播放器出错回调
15.添加seek功能和完成播放回调
16.实现当前播放页面切换播放功能
17.课程计划变更(原APP实例改为添加SDK高级功能)
18.音频控制
19.实现左右声道切换
20.实现变速变调功能(一)
21.实现变速变调功能(二)
22.计算PCM数据的分贝值
23.MediaCodec编码PCM为aac音频实现边播边录(一)
24.MediaCodec编码PCM为aac音频实现边播边录(二)
25.解决变速变调卡顿问题和添加边播边录时间回调
26.优化SDK
27.课程总结
28.后续一:播放.ape音乐异常原因分析和解决
29.后续二:音频裁剪并返回PCM数据可进行二次开发
30.后续三:PCM大数据分包(解决录音崩溃问题)
31.升级FFmpeg到当前最新版本(v4.0.2)

 

7项超值权益,保障学习质量」

  • 大咖讲解

技术专家系统讲解传授编程思路与实战。

  • 答疑服务

专属社群随时沟通与讲师答疑,扫清学习障碍,自学编程不再难。

  • 课程资料+课件

超实用资料,覆盖核心知识,关键编程技能,方便练习巩固。(部分讲师考虑到版权问题,暂未上传附件,敬请谅解)

  • 常用开发实战

企业常见开发实战案例,带你掌握Python在工作中的不同运用场景。

  • 大牛技术大会视频

2019Python开发者大会视频免费观看,送你一个近距离感受互联网大佬的机会。

  • APP+PC随时随地学习

满足不同场景,开发编程语言系统学习需求,不受空间、地域限制。

 

「什么样的技术人适合学习?」

  • 想进入互联网技术行业,但是面对多门编程语言不知如何选择,0基础的你
  • 掌握开发、编程技术单一、冷门,迫切希望能够转型的你
  • 想进入大厂,但是编程经验不够丰富,没有竞争力,程序员找工作难。

 

「悉心打造精品好课,14天学到大牛3年项目经验」

【完善的技术体系】

技术成长循序渐进,帮助用户轻松掌握

掌握Android知识,扎实编码能力

【清晰的课程脉络】

浓缩大牛多年经验,全方位构建出系统化的技术知识脉络,同时注重实战操作。

【仿佛在大厂实习般的课程设计】

课程内容全面提升技术能力,系统学习大厂技术方法论,可复用在日后工作中。

 

「你可以收获什么?」

1、学会FFmpeg编译Android平台。

2、学会FFmpeg解码音频数据流程。

3、学会Android中用OpenSL ES来播放PCM音频。

4、学会Android中调用C++方法。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对您的问题,我来简单回答一下。 首先,要明确的是,FFmpeg 是一个开源的跨平台音视频处理库,支持包括解码、编码、封装、解封装等功能。而解封装(Demuxing)是指将音视频封装格式中的音视频流解析出来,以便后续对音视频流进行解码、编码等操作。 在 Android 基于 FFmpeg 开发简易播放器中,我们可以使用 FFmpeg 提供的 API 来进行解封装。具体步骤如下: 1. 打开输入文件 使用 FFmpeg 的 avformat_open_input() 函数打开要解封装的音视频文件,该函数返回一个 AVFormatContext 结构体指针,该指针包含了输入文件的相关信息。 2. 寻找音视频流 使用 FFmpeg 的 avformat_find_stream_info() 函数读取输入文件的文件头信息,并寻找其中包含的音视频流。该函数会将每个音视频流的信息保存在 AVStream 结构体中。 3. 选择音视频流 根据需要播放的音视频流类型,在所有寻找到的音视频流中选择对应的流。可以通过判断 AVStream 结构体中的 codecpar->codec_type 来确定该流是音频流还是视频流。 4. 获取解码器 使用 FFmpeg 的 avcodec_find_decoder() 函数获取对应的解码器,并使用 avcodec_open2() 函数打开解码器。 5. 循环读取数据包 使用 FFmpeg 的 av_read_frame() 函数循环读取音视频数据包(AVPacket 结构体),并将数据包送到解码器进行解码。 6. 关闭解码器和输入文件 在播放完成后,需要使用 avcodec_free_context() 函数释放解码器占用的资源,并使用 avformat_close_input() 函数关闭输入文件。 以上就是基于 FFmpeg 进行解封装的大致步骤。当然,在实际开发中还有很多细节需要注意,比如错误处理、内存管理等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值