2014-03-13 95 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