1

我正在寻找 iOS 的示例代码(我猜是使用 AVMediaPlayer 或 AVPlayer)从 URL 播放流音频(我们当前的服务器 URL 是http://server.local:8008/ourradio.aac.m3u)。

当应用程序处于后台模式时,也应播放音频流。

4

2 回答 2

6

M3U 是一种播放列表格式。它是一个纯文本文件,包含音乐文件的位置,尤其是 MP3 文件。阅读有关 M3U 的维基百科文章。如果您真的想要在 iPhone 上播放每个 MP3,请使用它:

AVPlayer *musicPlayer = [AVPlayer playerWithURL:musicLinkFromM3uFile];
[musicPlayer play];

其中musicLinkFromM3uFile是从 m3u 文件中读取的 MP3 文件的位置。

编辑:为了能够继续在后台播放,您需要使用 category 设置音频会话kAudioSessionCategory_MediaPlayback。为此,将以下代码行添加到应用程序委托中的 applicationDidLoad 中:

UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);

您还需要UIBackgroundModes在 Info.plist 中设置为audio.

于 2012-10-08T16:02:57.500 回答
2
NSString *urlAddress = @"http://www.mysite.com/test.mp3";
urlStream = [NSURL URLWithString:urlAddress];   
self.player = [AVPlayer playerWithURL:urlStream];   
[player play];
于 2012-10-08T16:36:21.053 回答