【问题标题】:Streaming audio with avplayer long buffering - playImmediatelyAtRate doesn't work使用 avplayer 长缓冲流式传输音频 - playImmediatelyAtRate 不起作用
【发布时间】:2018-04-06 10:18:54
【问题描述】:

我正在我的 iOS swift 应用中流式传输音频。
主要问题是 avplayer 必须加载所有文件才能开始播放。
使用 playImmediatelyAtRate 不起作用,因为在文件完全下载之前,playbackBufferEmpty 始终为 true,这可能是长音频文件的问题。

有什么想法吗?

【问题讨论】:

  • 您可以为此使用 STKAudioPlayer。 The link for StreamingKit 来了,去看看吧。
  • 我主要是在寻找一种能够让我保持 avplayer 原样的解决方案

标签: ios swift streaming avplayer buffering


【解决方案1】:

不是真正与 AVPlayer 相关的答案,但您可以使用 VLCKit 来处理流。

这是 Swift 中的一个基本示例:

let mediaPlayer = VLCMediaPlayer()

// replace streamURL by the url of the stream
mediaPlayer.media = VLCMedia(url: streamURL)

// outputView is the view where you want to display the stream
mediaPlayer.drawable = outputView
mediaPlayer.play()

如果您对 VLCKit 有任何问题,请随时联系我!

【讨论】:

  • 我主要是在寻找一种能够让我保持 avplayer 原样的解决方案
【解决方案2】:

对于 iOS >10,我设置: avplayer.automaticallyWaitsToMinimizeStalling = false; 这似乎为我解决了问题。这可能会产生其他后果,但我还没有达到这些后果。

我的想法来自: AVPlayer stops playing video after buffering

【讨论】:

    猜你喜欢
    • 2012-01-18
    • 2012-10-19
    • 1970-01-01
    • 2011-07-06
    • 2015-12-13
    • 2016-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多