Android上OculusGo上的多个视频-应用崩溃

时间:2018-11-21 22:06:18

标签: android unity3d video render oculusgo

[编辑] 我正在为OculusGo = Android准备一个应用程序 在场景中,有4个角色由视频剪辑表示。 视频大小在10mb-30 mb之间。

所有视频均带有着色器GoogleVR / Unlit / TransparentOverlay 视频被编码为WebM / VP9 /使用Adobe编码器保持Alpha水平。 这些视频进一步统一转换为Android VP8(再次)。

在场景开始时从资源文件夹加载的视频,然后在需要播放时从每个视频中调用VideoPlayer.Play(),最后将它们一起播放。 (一个接一个地开始,然后一起继续)。

问题是: 应该播放第三个视频时,我的应用程序崩溃了。 当我“准备”视频时,它不会崩溃,而只会在“ VideoPlayer.Play()”上崩溃

这是我当前的代码:

public float waiting;
public AudioSource characterAudio;

VideoPlayer videoPlayer;
bool videoStarted = true;

void Awake () {

    videoPlayer = GetComponent<VideoPlayer>();
}

private void Update()
{
    if (characterAudio != null)
    {
        if (characterAudio.isPlaying && videoStarted)
        {
            StartCoroutine(StartVideo());
            videoStarted = false; 
            Debug.Log(characterAudio.name + " called once from update");
        }
    }
}

IEnumerator StartVideo()
{
    yield return new WaitForSeconds(waiting);
    videoPlayer.enabled = true;
    videoPlayer.Prepare();
    while(!videoPlayer.isPrepared)
    {
        Debug.Log("video is preparing");
        yield return null;
    }

    videoPlayer.Play();
    Debug.Log("videoStarted, char name is: " + characterAudio.name);
}

这是我从logcat得到的错误(使用命令:logcat | grep -i unity)

  

ActivityManager:强制删除ActivityRecord

     

消费者关闭了输入通道或发生了错误。事件= 0x9

     

频道无法恢复,将被处置!

     

InputDispatcher:尝试注销已经注销的输入通道

请帮助,我已经尝试了两个星期,以使这些视频同时运行。

我也在这里阅读了有关使用其他线程的信息:https://gamedev.stackexchange.com/questions/113096/how-to-not-freeze-the-main-thread-in-unity 以及有关同时播放的视频:Unity App freezes when loading Multiple Videos on same Scene

我运行了logcat(而不是第一个),这是在视频准备结束后我得到的:

Screenshot from terminal

0 个答案:

没有答案