Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android上的videoView存在问题_Android_Android Sdk 2.3 - Fatal编程技术网

Android上的videoView存在问题

Android上的videoView存在问题,android,android-sdk-2.3,Android,Android Sdk 2.3,我在Android上使用2个视频视图时遇到问题 我知道我不能同时使用两个视频视图 这是我的工作流程 创建2个视频视图 隐藏其中一个 预取第一个视频视图 播放第一个视频视图。 在另一个线程中,我预取了第二个视频 在某些情况下,我会切换视频视图 第二个视频工作正常 当第二个视频完成后,我切换到第一个视频 视频从开始开始播放,而不是第一个视频的最后一个状态 我尝试获取当前时间并在切换之前保存它,然后当第一个视频视图返回时,我使用seekTo(LastCurrenttime),但是缓冲区消失了(在上

我在Android上使用2个视频视图时遇到问题

我知道我不能同时使用两个视频视图

这是我的工作流程

  • 创建2个视频视图
  • 隐藏其中一个
  • 预取第一个视频视图
  • 播放第一个视频视图。
    • 在另一个线程中,我预取了第二个视频
  • 在某些情况下,我会切换视频视图
  • 第二个视频工作正常
  • 当第二个视频完成后,我切换到第一个视频
  • 视频从开始开始播放,而不是第一个视频的最后一个状态
  • 我尝试获取当前时间并在切换之前保存它,然后当第一个视频视图返回时,我使用seekTo(LastCurrenttime),但是缓冲区消失了(在上次currentTime之前)

    您知道缓冲区是静态的还是VideoView只使用一个缓冲区

    为什么videoView不保存videView的最后一个状态?((当前时间还是缓冲区状态


    有没有不使用seekTo函数的方法可以做到这一点?

    我的理论是,因为第一个视频视图被隐藏,这意味着在视图上调用suspend()和resume()。如果在中搜索“suspend”和“resume”,可以看到MediaPlayer实例被释放和重新分配

    我的建议是创建一个定制的视频视图来修改这种行为

    我将演示如何在中自定义VideoView


    以此为起点,您可以重写resume()函数,以避免调用openVideo()。

    我想您是对的,视频视图只有一个缓冲区。但我自己从未尝试过类似的操作。您最终成功地让它工作了吗?