2014-03-13 55 views
0

我正在編寫iOS應用程序,我需要通過HTTP實況流式傳輸m4a文件。我正在使用AVPlayer和一個HLS Simple Media Playlist fileAVPlayer不會通過HTTP流式傳輸M4A

如果我將AVPlayer直接鏈接到mp3或m4a,它就不會產生任何問題。

URL = [NSURL URLWithString:@"http://fembotics.com/bells.m4a"]; 
item = [AVPlayerItem playerItemWithURL:URL]; 
player = [AVPlayer playerWithPlayerItem:item]; 
[player play]; 

的問題發生在我設置URL到HLS播放列表。奇怪的是,mp3的作品和m4a不。

http://fembotics.com/basicmp3.m3u8 - 工作

#EXTM3U 
#EXT-X-VERSION:3 
#EXT-X-TARGETDURATION:5220 
#EXTINF:20.0, 
/bells.mp3 
#EXT-X-ENDLIST 

http://fembotics.com/basicm4a.m3u8 - 破碎

#EXTM3U 
#EXT-X-VERSION:3 
#EXT-X-TARGETDURATION:5220 
#EXTINF:20.0, 
/bells.m4a 
#EXT-X-ENDLIST 

我試圖在播放列表中使用絕對URL和它沒有什麼區別。

有沒有人見過這種類型的問題?我應該爲我的m4a文件嘗試其他來源嗎? (我嘗試了從iTunes購買的一個和MediaHuman Audio Converter從wav轉換的一個)。

回答

1

iOS上的m3u8僅支持分割的.aac和.ts容器。

+0

我運行'mediafilesegmenter bells.m4a',生成的.m3u8和.aac文件播放正常!我希望我能理解文件是如何改變的...... –

+0

m4a容器基於ISO 14496-12標準。 aac容器僅僅是原始的AAC幀,每幀都有一個ADTS頭。 – szatmary