我有一個文件,它是一個帶3個塊的RIFF容器; RIFF塊有'WAVE'標識符。第一塊是'fmt',第二塊是'數據',最後一塊是'eink'(我自己的塊)。因此,該文件由使用directshow的c#代碼生成。音頻以AAC編碼。因此,我不想在iOS 5上播放存儲在「數據」塊中的音頻。*。
我試圖讀取整個'數據'塊並使用[initWithData:error:][1]
方法中的那些字節AVAudioPlayer
。但它似乎工作方式不同。
比我想的,我可以嘗試使用這些字節制作我自己的m4a
文件並播放它,但是還有其他正確的方法嗎?請給我建議一些調查方法?在哪裏閱讀?或者其他方法。從iOS上的RIFF容器讀取AAC音頻
0
A
回答
2
Few concepts regarding WAV, AAC and MP4
WAV
是容器格式,可以存儲任何其它音頻數據,二者壓縮或未壓縮的。更多詳情請見http://www.sonicspot.com/guide/wavefiles.html
AAC可以用多種方式封裝。最常見的是ADTS和MP4。 AAC容器格式的詳細信息是http://en.wikipedia.org/wiki/Advanced_Audio_Coding#Container_formats
ADTS是相對簡單的格式,其中每個AAC幀前面有一個標題。有關ADTS標頭的更多詳細信息,請參閱http://wiki.multimedia.cx/index.php?title=ADTS
MP4是相對更復雜的格式,支持存儲各種音頻格式和視頻格式。在MP4的情況下,頭文件信息一次存儲在文件中的MP4結構中,其餘的AAC幀不需要任何頭文件信息。
How to support playing WAV file with AAC payload in iOS?
- 確定有效負載的類型,無論是ADTS或MP4或ADIF
- 如果文件可以脫機轉換,使用第三方庫,例如FFMPEG爲WAV與AAC轉換成M4A文件, iOS支持的格式。
- 如果文件需要在設備上轉換,最好的方法是從有效載荷中提取AAC幀數據,將它們轉換爲iOS預期的方式並對其進行解碼。確定這一點的最佳方法是將文件轉換爲M4A離線,並查看數據如何輸入到iOS音頻播放器。
相關問題
- 1. 如何從mp4容器獲取aac音頻? (Windows Phone 7和C#)
- 2. 如何將OGG音頻文件打包到RIFF容器?
- 3. 使用Python提取AAC音頻屬性?
- 4. 從USB合成器讀取音頻
- 5. 如何解碼WAV/RIFF音頻數據?
- 6. 無法在Ipad模擬器上播放aac音頻格式IOS 6
- 7. iOS音頻服務:讀取和寫入音頻文件
- 8. AVAssetWriter轉換AAC 5.1音頻從AVAsset軌道上appendSampleBuffer
- 9. 截取iOS上的背景音頻流
- 10. iOS音頻播放器靜音切換音頻會話的IOS
- 11. Flash/Flex:播放嵌入的AAC音頻?
- 12. Jave從文件中讀取視頻/音頻編解碼器
- 13. 有沒有辦法在iOS上讀取HDMI音頻?
- 14. Demux HLS TS流從視頻中分離音頻AAC
- 15. 如何使用AVAssetWriter在ios中寫入AAC音頻?
- 16. 以AAC格式錄製和播放音頻iOS 5 +
- 17. IOS,附加音頻文件AAC格式到電子郵件
- 18. 在iOS上獲取YouTube音頻網址
- 19. iOS 5上的MMS音頻
- 20. iOS從.mov文件中提取音頻
- 21. iOS從avplayer獲取音頻時間
- 22. 的iOS:從音頻文件
- 23. 直播音頻從iOS的
- 24. 如何反轉AAC音頻文件?
- 25. .AAC音頻:不閃光模式
- 26. 使用Android流式傳輸AAC音頻
- 27. 將AAC音頻格式轉換爲M4A
- 28. 使用libavcodec編碼音頻到aac
- 29. 用AAC編碼器錄音?
- 30. 在iOS上播放MP3或AAC文件有哪些音頻播放選項?
WAV內的AAC可能採用以下格式--ADIF,ADTS和M4A。你知道你的WAV文件中存在哪種格式嗎?有些鏈接可能有助於查找格式(a)http://wiki.multimedia.cx/index.php?title=ADTS(b)http://developer.apple.com/library/ios/#technotes/ tn2236/_index.html –
我不知道它是否可以幫助確定格式,但是當我將文件重命名爲'* .aac'時,VLC可以播放它。我仍在研究它。當創建此文件的其他開發人員說出他的話時,我會更新信息。 – DanSkeel
問題的任何更新? –