【发布时间】:2012-10-08 15:58:44
【问题描述】:
我正在寻找 iOS 的示例代码(我猜是使用 AVMediaPlayer 或 AVPlayer)来播放来自 URL 的流式音频(我们当前的服务器 URL 是 http://server.local:8008/ourradio.aac.m3u)。
当应用程序处于后台模式时,也应该播放音频流。
【问题讨论】:
标签: ios audio-streaming
我正在寻找 iOS 的示例代码(我猜是使用 AVMediaPlayer 或 AVPlayer)来播放来自 URL 的流式音频(我们当前的服务器 URL 是 http://server.local:8008/ourradio.aac.m3u)。
当应用程序处于后台模式时,也应该播放音频流。
【问题讨论】:
标签: ios audio-streaming
M3U 是一种播放列表格式。它是一个纯文本文件,包含音乐文件的位置,尤其是 MP3 文件。阅读Wikipedia Article about M3U。如果您真的想在 iPhone 上播放每个 MP3,请使用它:
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];
【讨论】: