Mac平台使用FFmpeg问题总结

2,142 阅读1分钟

一、Qt的项目怎么生成Xcode项目

//cd到你的qt项目
cd 01_HelloQT
//然后
qmake -spec macx-xcode 01_HelloQT.pro

image.png

二、执行avformat_open_input闪退

给QT项目增加Info.plist文件

  1. 在QT项目创建Info.plist文件

image.png

image.png

  1. Info.plist文件中增加内容
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>NSMicrophoneUsageDescription</key>
        <string>Use Microphone</string>
</dict>
</plist>

  1. 在项目的 01_HelloQT.pro 文件中配置
QMAKE_INFO_PLIST = mac/Info.plist

image.png

三、录音时av_read_frame的return值为-35

在隐私中给你的项目App完全磁盘访问权限

image.png

四、录音播放全是噪音

录音设备的输入声道是1,播放的时候也要选1。Mac平台默认采样格式-f为 f32le。

ffplay -ar 48000 -ac 1 -f f32le out.pcm

image.png