首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OculusGo上的多个视频,Android - app正在崩溃

OculusGo上的多个视频,Android - app正在崩溃
EN

Stack Overflow用户
提问于 2018-11-21 22:06:17
回答 1查看 333关注 0票数 0

编辑:我正在准备一个OculusGo = Android的应用程序,在场景中有4个字符由视频剪辑所代表。视频大小在10 mb - 30 mb之间。

所有视频都带有着色器GoogleVR/Unlit/TransparentOverlay,视频用Adobe编码器编码到WebM/ VP9/ keep。这些视频进一步统一编码到安卓,VP8 (再一次)。

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

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

以下是我的当前代码:

代码语言:javascript
复制
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 使用者关闭输入通道或出现错误。events=0x9 通道已无法恢复,将被处理! InputDispatcher:尝试注销已未注册的输入通道

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

我还在这里读到了关于使用不同的线程:https://gamedev.stackexchange.com/questions/113096/how-to-not-freeze-the-main-thread-in-unity和视频同时播放在这里:在同一场景中加载多个视频时,统一应用程序会冻结

我运行了logcat (不是统一一),这就是视频准备结束后我得到的结果:

从终端截图

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-21 09:46:00

我解决这个问题的方法是通过以下步骤:

  1. 我没有同时播放4个不同的视频,而是使用了4个视频的内存,我使用了一个视频--由4个字符划分--每个字符在一个将要运行的视频上得到了一个“插槽”。
  2. 我用了一种材料,而不是用4种材料,一种材料来播放视频。该材料显示全部4个字符的视频,为了正确显示字符,我偏移了材质渲染纹理x、y位置和偏移量,因此在场景中的四个不同位置只显示了一个字符。

因此,为了总结,而不是用4种不同的材料加载和播放4段视频,并在系统上造成超载,我在1份材料上播放了1段视频。应用程序运行顺利。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53421113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档