我正在寻找iOS的示例代码(我猜,使用AVMediaPlayer或AVPlayer)从URL(我们当前的服务器URL是http://server.local:8008/ourradio.aac.m3u)播放流音频。寻找简单的代码来播放来自m3u的HTTP流媒体音频
当在后台模式下应用时,音频流也应该播放。
我正在寻找iOS的示例代码(我猜,使用AVMediaPlayer或AVPlayer)从URL(我们当前的服务器URL是http://server.local:8008/ourradio.aac.m3u)播放流音频。寻找简单的代码来播放来自m3u的HTTP流媒体音频
当在后台模式下应用时,音频流也应该播放。
M3U是播放列表格式。这是一个纯文本文件,其中包含音乐文件的位置,最着名的是MP3文件。阅读Wikipedia Article about M3U。然后使用这个播放MP3每个如果你真的想在iPhone上:
AVPlayer *musicPlayer = [AVPlayer playerWithURL:musicLinkFromM3uFile];
[musicPlayer play];
其中musicLinkFromM3uFile
从m3u文件读取MP3文件的位置。
编辑:为了能够继续在后台播放,您需要设置一个类别为kAudioSessionCategory_MediaPlayback
的音频会话。要做到这一点的代码以下行添加到您的applicationDidLoad在应用程序委托:
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
您还需要在您的Info.plist设置UIBackgroundModes
到audio
。
NSString *urlAddress = @"http://www.mysite.com/test.mp3";
urlStream = [NSURL URLWithString:urlAddress];
self.player = [AVPlayer playerWithURL:urlStream];
[player play];
不工作。 :(错误是NSOSStatusErrorDomain。 – Andrey
哦,对不起,AVAudioPlayer不支持通过HTTP进行流式传输,请尝试使用AVPlayer代替 – miho
也许,你有一些样例吗? – Andrey