【问题标题】:Unity 2019.2.15f1 videoPlayer.loopPointReached not working on Android deviceUnity 2019.2.15f1 videoPlayer.loopPointReached 在 Android 设备上不起作用
【发布时间】:2019-12-13 20:06:47
【问题描述】:

我的场景中有一个视频播放器,它在编辑器上运行良好,但是当我在我的设备(Android 6.0)上构建和部署它时,视频会播放,但是当它播放完事件时 videoPlayer.LoopPointReached 没有被调用。在编辑器上一切正常,但在 android 设备上没有调用事件。

 videoPlayer.errorReceived += HandleVideoError;
 videoPlayer.started += HandleStartedEvent;
 videoPlayer.seekCompleted += HandleSeekCompleted;
 videoPlayer.loopPointReached += EndReached;

 void EndReached(VideoPlayer video)
 {
    // show cube
    cubeObject.SetActive(true);
 }

【问题讨论】:

    标签: android unity3d android-video-player


    【解决方案1】:

    如果您所说的关于EndReached() 没有在 Android 设备上被调用是真的,那么它可能是 Unity 中的一个错误。您应该提交错误报告以便尽快修复它。另外,您在脚本中如何以及在何处编写这段代码videoPlayer.loopPointReached += EndReached;? 同时,您可以使用视频剪辑的帧数来确定视频的结束;

    void Update()
    {
      if(videoPlayer.frame == videoPlayer.frameCount)
      {
        ...
      }
    }
    

    【讨论】:

    • 我尝试了您的视频剪辑的帧建议,但没有成功。代码 videoPlayer.loopPointReached += EndReached;放在 start() 函数中。
    • @StephenMutua 那么我假设视频错误在您的 Unity 版本中。请举报。
    • 我已经报告了这个错误,但没有任何回应。我也尝试过使用不同版本的统一(2018.4.14)进行测试,但仍然没有变化..
    • 哦,如果您尝试了不同版本的 Unity,但仍然无法正常工作,那肯定是您的设备有问题,您确定它在编辑器上运行良好吗?你也可以在不同的设备上尝试吗?另外,视频是否在您的设备中完全播放?
    • 视频播放到最后,但播放结束后,事件 videoPlayer.loopPointReached 没有被调用..2天前它正在工作,但它停止了。
    【解决方案2】:

    我终于发现是我正在播放的视频帧率低。它有 25 帧/秒,但我将其转换为 30 帧/秒,它现在可以在设备上运行。

    任何有此类问题的人都可以尝试我的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多