首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由unity3d创建的Android应用程序在播放视频后更有可能崩溃。

由unity3d创建的Android应用程序在播放视频后更有可能崩溃。
EN

Stack Overflow用户
提问于 2016-11-05 15:28:53
回答 2查看 557关注 0票数 2

我正在创建一个android应用程序,它可以播放视频和查看模型。我决定使用unity3d来完成它。

我在几个场景中设置了两个函数,每个场景都有自己的功能。当我想看不同的视频或模型时,我会进入不同的场景。如果我看到模型,不管有多少模型,它都能成功运行。但是,如果当我看到视频(可能只有1000万)时,当我查看模型时,这个应用程序更有可能崩溃。

我使用Handheld.PlayFullScreenMovie()在unity3d中播放视频。android中的错误如下所示。

11-05 22:33:51.589 14794-14807/?I/Adreno: DequeueBuffer: dequeueBuffer失败 11-05 22:33:51.609 14794-14807/?W/Adreno::ioctl 29代码0xc0140933 (IOCTL_KGSL_TIMESTAMP_EVENT)失败: errno 24太多打开的文件 11-05 22:33:51.609 14794-14807/?W/Adreno::(1e,14,92844)失败了24个太多打开的文件 11-05 22:33:51.619 14794-14807/?E/Surface: dequeueBuffer: IGraphicBufferProducer::requestBuffer:-2147483646

也许也有可能打开文件?但是只有一个视频,当我在unity3d中改变场景时,它应该已经从内存中删除了。如果您对此有任何意见,请与我联系。非常感谢!

补充说:实际上,我想我的问题和问题是是一样的。是Unity3d的臭虫吗?

EN

回答 2

Stack Overflow用户

发布于 2016-11-05 15:46:24

试试这个:

代码语言:javascript
复制
void Start()
{
    StartCoroutine(ShowMotion());
}

IEnumerator ShowMotion()
{
    Handheld.PlayFullScreenMovie("motion.mp4", Color.black, FullScreenMovieControlMode.CancelOnInput);
    yield return new WaitForEndOfFrame();
    yield return new WaitForEndOfFrame();//not writing the second yield return causes a failure.
}
票数 0
EN

Stack Overflow用户

发布于 2016-11-05 17:22:53

试试下面的代码:

代码语言:javascript
复制
GameObject allObjects;

void Start()
{
    allObjects = GameObject.FindObjectsOfType<GameObject>();

    StartCoroutine(StartMovie());
}

IEnumerator StartMovie()
{
    foreach(GameObject obj in allObjects)
         obj.SetActive(false);

    yield return new WaitForEndOfFrame();

    Handheld.PlayFullScreenMovie("motion.mp4", Color.black, FullScreenMovieControlMode.CancelOnInput);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40439940

复制
相关文章

相似问题

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