【问题标题】:Streaming multiple music with AVPlayer使用 AVPlayer 串流多种音乐
【发布时间】:2014-06-27 08:12:20
【问题描述】:

我有一个想要制作的应用程序,它需要从网络服务器流式传输音频文件。我使用AVPlayer 作为播放器。问题是,我从服务器收到的一些响应上有两个音频文件。这使得流媒体变得困难。顺便说一下,我的音频播放器 UI 是这样的:

我有一个用于流式传输时间范围的滑块(黑色的)和另一个用于AVPlayer.currentTime 的滑块。我有两个音频音乐流式传输,它们的音乐持续时间加在一起,现在是 8:46。我的第一首音乐有 6 分钟的持续时间,我的第二首音乐有 1:46。正如您在上面的照片中看到的,我的流式传输时间范围滑块表明AVAsset 已经完全流式传输了第一首音乐。我的问题是,当第一首音乐结束时,我无法继续流式传输和播放下一首音乐。它只是停止,滑块值回到 0。

我想要完成的是,当第一个项目结束时,AVPlayer 将加载另一个播放器项目,这将是第二个音乐。将继续播放,滑块将继续移动。

这可能吗?你有什么建议?谢谢专家。

【问题讨论】:

    标签: ios iphone avplayer


    【解决方案1】:

    要一个接一个地加载音频文件,您可以使用 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];
    

    希望这对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-17
      • 2011-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多