簡體   English   中英

使用AVPlayer播放多種音樂

[英]Streaming multiple music with AVPlayer

我有一個要制作的應用程序,需要從Web服務器流式傳輸音頻文件。 我使用AVPlayer作為播放器。 問題是,我從服務器收到的某些響應上有兩個音頻文件。 這使流式傳輸變得困難。 順便說一下,我的音頻播放器用戶界面是這樣的:

在此處輸入圖片說明

我有一個用於流傳輸的時間范圍的滑塊(黑色的)和另一個用於AVPlayer.currentTime滑塊。 我有兩個音頻音樂流,並且它們的音樂時長加在一起現在是8:46。 我的第一首音樂時長為6分鍾,第二首音樂時長為1:46。 如上圖所示,我的流式傳輸時間范圍滑塊指示AVAsset已完全流式傳輸了第一首音樂。 我的問題是,當第一個音樂結束時,我無法繼續播放和播放下一個音樂。 它只是停止並且滑塊值恢復為0。

我要完成的是,當第一個項目結束時, AVPlayer會加載另一個播放器項目,這就是第二個音樂。 將繼續播放並且滑塊將繼續移動。

這可能嗎? 您有什么建議? 謝謝專家。

要一個接一個地加載音頻文件,可以使用AVQueuePlayer。

 NSURL *song1 = [NSURL URLWithString:@"audio url1"]; 
 NSURL *song2 = [NSURL URLWithString:@"audio url2"];

 AVPlayerItem *playerItem1 = [[AVPlayerItem alloc] initWithURL:song1];
 AVPlayerItem *playerItem2 = [[AVPlayerItem alloc] initWithURL:song2];

 NSArray *songs = @[playerItem1, playerItem2];

 self.queuePlayer = [[AVQueuePlayer alloc] initWithItems:songs];
 [self.queuePlayer play];

希望這對您有幫助。

暫無
暫無

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

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