我使用這個功能來解碼音頻,但沒有任何聲音:WMA解碼通過FFmpeg iPhone上
int decodedBytes;
decodedBytes = avcodec_decode_audio4(myData->pCodecCtx, myData->myFrame, &data_size, &myData->pkt);
數據下載成功,但我不知道在哪裏何去何從,因爲根本沒有聲音。
我使用這個功能來解碼音頻,但沒有任何聲音:WMA解碼通過FFmpeg iPhone上
int decodedBytes;
decodedBytes = avcodec_decode_audio4(myData->pCodecCtx, myData->myFrame, &data_size, &myData->pkt);
數據下載成功,但我不知道在哪裏何去何從,因爲根本沒有聲音。
如果使用avcodec_decode_audio3
而是接縫的工作:
decodedBytes = avcodec_decode_audio3(myData->pCodecCtx, samples, &data_size, &myData->pkt);
但你可能應該使用avcodec_decode_audio4
爲avcodec_decode_audio3
接縫被棄用。我對ffmpeg/libav瞭解不多,但我猜想audio4在libav中使用緩衝區系統,而不是傳入緩衝區。
也許這將差異給予提示如何使用audio4:
http://git.libav.org/?p=libav.git;a=commitdiff;h=f199f38573c4c02753f03ba8db04481038fa6f2e
通過「沒有聲音」你的意思是你沒有聽到任何聲音,或者你沒有得到任何聲音樣本數據? ffmpeg只負責解碼,你必須輸出到coreaudio,openal等。 – 2012-01-10 22:18:55
請給出更多的上下文,你的目標是什麼?錯誤消息或代碼?我可能需要更多示例代碼。 – 2012-01-10 22:27:35
我有聲音的示例數據,AVCodecContext,AVCodec,AVFrame,AVPacket和AVFormatContext的所有字段都被填充,但我似乎無法使用AudioQueueEnqueueBuffer正確輸出它們。你需要看更多的代碼嗎?你想我通過電子郵件發送給你嗎?謝謝你的幫助! – Winston 2012-01-12 19:46:57