AVPlayer需要很长时间才能开始播放

时间:2016-11-05 19:23:35

标签: ios swift avplayer

更新Swift 3后,我意识到我的应用程序需要很长时间才能从远程服务器开始播放音频文件。在Swift 2.3中,这不会发生。我一直试图调试它,但我找不到任何东西。我一直在打印AVPlayer的状态,我发现它在几秒钟内从Loading变为Playing,但真正开始播放这首歌大约需要20秒。

我正在使用TeodorPatras的Jukebox

2 个答案:

答案 0 :(得分:8)

我最后用下一行代码解决了这个问题:

player?.playImmediately(atRate: 1.0)

该行的作用是,它立即开始播放而不确保缓冲区足以不受中断。但在我的情况下,我宁愿等待几秒钟。

答案 1 :(得分:2)

我的iOS 10设备也遇到了同样的问题。支持iOS 10和旧iOS版本的解决方案是:

using RDotNet;
using System;

namespace SimpleScriptingTest
{
    class Program
    {
        static void Main(string[] args)
        {            
            REngine.SetEnvironmentVariables();

            REngine engine = REngine.GetInstance();

            engine.Initialize();
            var path = "C:\\\\Program Files\\\\R\\\\RWDir\\\\HelloWorldTest.R";
            engine.Evaluate("source('" + path + "')");
            Console.ReadLine();
        }

    }
}