1

我有的

我的目标是使用 ffmpeg 解析一些媒体文件并提供视频和音频播放。我成功地将 OpenGL 用于视频和 AudioQueue 用于音频。

我需要做的是 我需要将 AudioQueue 更改为 Audio Unit 服务,因为它确实为音频操作提供了一些令人讨厌的功能。

基本上我对将音频单元集成到 ffmpeg 运行循环中感到困惑。所以想从你们那里获得一些参考/样本,其中音频单元与 ffmpeg 媒体播放循环集成,即媒体数据包提取并将其推入音频单元可以播放的某个缓冲区。

4

1 回答 1

2

是的,我已经使用 AudioUnit 使用 ffmpeg 播放解码的音频。

我从 github ( https://github.com/alexbw/novocaine ) 获取了 Novocaine 项目并做了一些更改(主要是为输入和 OSX 抛出代码)。

参见 kxmovie 项目中的 KxAudioManager 类:https ://github.com/kolyvan/kxmovie

如果您打算为 iOS 编写代码,请注意需要将声音重新采样到 44100Hz。许多电影都有 48000 Hz 采样率的音频流。我得到的最好结果是:通过 libswresample lib 中的 swr_convert 函数重新采样。

于 2012-10-27T07:00:41.227 回答