在Qt中使用FFmpeg
在Qt中使用FFmpeg实现播放和录音
初始尝试
从CSDN中找到了对应的库并进行修改,最终编译成功。但运行时发现没有对应的输入声音设备。
查看设备
使用FFmpeg命令查看可用设备:1
ffmpeg -list_devices true -f dshow -i dummy
录制测试
尝试直接使用FFmpeg命令录制:1
ffmpeg -f dshow -i audio="麦克风阵列 (Realtek(R) Audio)" -t 5 test.wav
录制失败,最后发现是没有打开麦克风权限。解决权限问题后成功录制音频。
音频播放实现
在论坛找到播放代码,发现使用的是<QAudioFormat>
中的QAudioOutput
。但在Qt6中它已被QAudioSink
取代。
编译问题
添加头文件后仍然报错,最终在CMakeLists.txt中添加:1
Qt6::Multimedia
才解决了头文件找不到的问题。
重采样问题
重采样相关的代码编译一直不通过。
即使参考官方文档的示例也无法运行,最终不得不寻找其他解决方案。
评论