簡體   English   中英

iOS:實時流式AVPlayer

[英]iOS: Live Streaming AVPlayer

我想從服務器流式傳輸一首歌曲,這與我完成該操作的方式似乎很好,但是有些方法似乎無法使用這種方法。

我目前已實例化一個AVPlayer

player = [[AVPlayer alloc] initWithURL:[NSURL URLWithString:@"http://media.soundcloud.com/stream/songID?stream_token=myToken"]];

當我的應用程序認為緩沖區足夠時,就調用它。

這樣可以很好地播放聲音,但是我發現,如果我停止指向AVPlayer實例,播放器就會停止,並且如果我將應用程序推到后台,聲音會逐漸消失並暫停,直到應用程序回到前台為止。

AVPlayer是否可以讓歌曲在后台繼續播放?

如果沒有,我應該看HTTP Live Streaming嗎?

我對iOS方面還很陌生,非常感謝我的SO-ers同事可以給我的任何指導!

您應該明確允許您的應用在后台播放音頻。 將以下密鑰插入Info.plist文件中:

<key>UIBackgroundModes</key>
<array>
    <string>audio</string>
</array>

參考

在開始播放音頻之前,還請添加以下行:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:NULL];

參考

技術問答QA1668在iOS上使用AV Foundation在后台播放媒體

問:如何確保在后台運行應用程序時使用AV Foundation可以繼續播放媒體?

答:您必須聲明您的應用程序在后台播放可聽內容,並為音頻會話分配適當的類別。 另請參閱視頻媒體的特殊注意事項。

聲明您的應用在后台播放音頻內容

首先,聲明您的應用程序提供特定的后台服務,並且必須允許其在后台繼續運行。 為此,請在應用程序的Info.plist文件中添加UIBackgroundModes鍵。 它的值是一個包含一個或多個字符串的數組,這些字符串標識應用程序支持哪些后台任務。 指定字符串值音頻,以指示應用程序在后台時向用戶播放可聽內容:

圖1聲明該應用程序在后台播放可聽內容。

重要提示:UIBackgroundModes音頻鍵還將允許應用程序使用AirPlay在后台流式傳輸媒體內容(另請參閱視頻媒體的特殊注意事項)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM