【问题标题】:AvPlayer is downloading mp3 instead of streamingAvPlayer 正在下载 mp3 而不是流式传输
【发布时间】:2019-09-24 06:30:26
【问题描述】:

当我想流式传输 mp3 文件时,我正在创建一个应用程序。我正在使用 AvPlayer 类。 当我创建 avplayer 实例时,我将文件 uri 放入构造函数中,例如:

_player = AVPlayer.FromUrl(NSUrl.FromString("Url");
_player.Play();

这是一个 c# 代码,但我认为它与 swift 非常相似。 当我调用播放方法时,mp3 文件正在下载而不是流式传输。我尝试播放长 mp3 文件(大约 50 分钟)并且加载确实需要很长时间。加载结束时,播放 mp3,但是当我关闭互联网连接并搜索到最后时,播放继续。

我如何告诉 avplayer 他必须流式传输。 我发现了一个 SO 问题 Why AVPlayer downloading first instead live streaming? 但没有解决方案。

Android MediaPlayer 流式传输此 mp3 没有任何问题。

【问题讨论】:

标签: c# ios objective-c swift xamarin


【解决方案1】:

从 iOS 10 开始,将AutomaticallyWaitsToMinimizeStalling 设置为false 或自定义延迟时间:

public override void ViewDidLoad ()
{
    base.ViewDidLoad ();
    // Perform any additional setup after loading the view, typically from a nib.

    AVPlayerItem item = new AVPlayerItem(new NSUrl("https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3"));
    AVPlayer _player = new AVPlayer(item);
    _player.AutomaticallyWaitsToMinimizeStalling = false;
    _player.Play();
}

参考:avplayer-stops-playing-video-after-buffering

【讨论】:

    猜你喜欢
    • 2013-10-31
    • 1970-01-01
    • 2011-02-21
    • 2012-10-19
    • 1970-01-01
    • 1970-01-01
    • 2014-08-25
    • 2013-08-07
    • 1970-01-01
    相关资源
    最近更新 更多