iOS:直播AVPlayer

Ril*_*eyE 1 objective-c live-streaming http-live-streaming ios avplayer

我想从服务器流式传输一首歌,这似乎与我完成的方式一样好用,但是这种方法似乎有些东西是不可能的.

我目前已经实例化了一个AVPlayer

player = [[AVPlayer alloc] initWithURL:[NSURL URLWithString:@"http://media.soundcloud.com/stream/songID?stream_token=myToken"]];
Run Code Online (Sandbox Code Playgroud)

当我的应用程序认为缓冲区足够时,就调用它.

这听起来很完美,但我发现如果我停止指向AVPlayer实例,播放器会停止,如果我将应用程序推到后台,声音会消失并暂停直到应用程序返回到前台.

是否可以让歌曲继续在AVPlayer的后台播放?

如果没有,我应该看看HTTP Live Streaming吗?

我对iOS的这一方很新,我非常感谢我的同事给我的任何指导!

小智 8

您应明确启用您的应用以在后台播放音频.将以下密钥插入Info.plist文件:

<key>UIBackgroundModes</key>
<array>
    <string>audio</string>
</array>
Run Code Online (Sandbox Code Playgroud)

(参考)

在开始播放音频之前,还要添加以下行:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:NULL];
Run Code Online (Sandbox Code Playgroud)

(参考)