如果大家对音频的采集流程不是很了解,可以看我上一篇文章https://blog.csdn.net/qq_15255121/article/details/115301516
我们现在mac上xcode创建一个app,如果大家不是很了解怎么创建app。请移步其他教程进行学习。
我在这里谈论几个我遇到的问题。
1、要想访问音频设备,必须关闭沙盒模式。关闭方式
如果还不行要看下
如果沙盒为YES要改为NO
2要使用麦克风和摄像头必须在info.plist进行说明
Privacy - Camera Usage Description 值写为什么要使用就可以了
Privacy - Microphone Usage Description
3、Entitlements file "myffmpegdemo1.entitlements" was modified during the build, which is not supported. You can disable this error by setting 'CODE_SIGN_ALLOW_ENTITLEMENTS_MODIFICATION' to 'YES', however this may cause the built product's code signature or provisioning profile to contain incorrect entitlements
4、使用的时候要把需要的库和头文件导入到当前的工作环境下
引入的时候
头文件
库文件
选择相应的库文件即可。不带数字的dylib最后都会引用到带数字的。我们选择不带数字的即可。
5、av_read_frame返回-35
原因是音频设备没有准备好,我们要延迟一段时间再进行才去音频设备。
6 ffplay 播放的时候 我们可以根据
av_dump_format返回的输入参数进行参数调整
Input #0, avfoundation, from ':0':
Duration: N/A, bitrate: N/A
Stream #0:0, 0, 1/1000000: Audio: pcm_f32le, 44100 Hz, mono, 1411 kb/s
比如我的输入设备是单声道
我可以把ffplay的命令写成下面的形式
ffplay -ar 44100 -ac 1 -f f32le audio.pcm
具体参数含义可以查看ffplay的文档
我把代码放到了如下git地址,欢迎下载。