音视频开发库的选择
每个主流平台基本都有自己的音视频开发库(API),用以处理音视频数据,比如:
- iOS:AVFoundation、AudioUnit等
- Android:MediaPlayer、MediaCodec等
- Windows:DirectShow等
- ...
为了让所有平台的开发者都能够学习到音视频开发的通用技术,本教程主要讲解跨平台的音视频开发库FFmpeg。其实只要你掌握了FFmpeg,也可以很快上手其他音视频开发库,因为底层原理都是一样的,你最终操作的都是一样的数据,比如MP3、MP4文件。
FFmpeg
下载
网上已经有编译好的FFmpeg,目前最新的Release版本是4.3.2,可以直接下载到项目中进行开发使用。
使用
# 头文件路径
INCLUDEPATH += %FFmpeg_Build%/include
# 库文件路径
LIBS += -L %FFmpeg_Build%/lib\
-lavcodec\
-lavdevice\
-lavfilter\
-lavformat\
-lavutil\
-lpostproc\
-lswscale\
-lswresample
# 将%FFmpeg_Build%/bin目录中的所有dll文件拷贝到exe文件所在路径
GUI库的选择
如果要想开发一个播放器,肯定得编写界面,同样为了保证跨平台开发,这里采用的GUI库是Qt,官方的开发工具QtCreator是跨平台的(Windows、Mac、Linux都有)。采用的编程语言是C++。
QtCreator
下载
课程中选择5.14.2版本(从5.15版本开始是收费版本)
- 下载地址:https://download.qt.io/archive/qt/5.14/5.14.2/
- Windows系统选择下载:qt-opensource-windows-x86-5.14.2.exe
安装
解决控制台中文乱码
- 工具 -> 选项