当前位置: 首页 > 知识库问答 >
问题:

为什么是mediaPlayer。mediaPlayer暂停时seekTo(毫秒)不更新surfaceView?

越宣
2023-03-14

我使用MediaPlayer在我的Android应用程序播放视频。当播放暂停通过media aPlayer.pause()方法和我调用medialayer.seekTo(msec)的surfaceView我显示的视频中不更新。它显示当我调用pence()方法时视频停止的帧。

当Istart()再次启动时,它仅从前面的seekTo()中指定的帧开始。

我怎么能强制media播放器更新surfaceView当media播放器暂停和不播放?

共有1个答案

堵龙野
2023-03-14

我在姜饼系列上也有同样的问题。我在seekbar中使用onProgressChanged时修复了它,我实际上称之为start,这会将视频更新到正确的位置,但仍然保持视频在同一位置。

public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) 
{
    if(fromUser)
    {
    videoPlayer.seekTo(progress);
    setRemainingTime(progress);
    setPreviousTime(progress);
    playerPausedAt = progress;
    videoPlayer.start();
     }

}

上面的代码对我来说非常有效。

 类似资料:
  • 当播放时,方法可以很好地工作。如果被暂停,当我找到一个位置并调用时,它就会在它暂停的地方开始播放。 我的代码如下所示,在logcat中,我可以看到它正在寻找。

  • MediaPlayer中的seekTo()方法有问题。看来根本不管用!我跟踪了关于这个问题的其他线索,并尝试了不同的解决方案,但seekTo()仍然什么也没做!下面是我的代码: system.out.println()显示以下输出: null

  • 如果我在开始之前调用seekTo,音频将从开始开始。 是否可以从特定点开始播放音频? 谢了!

  • 我在Kubernetes集群中设置了Apache Ignite服务器,并将SpringBoot应用程序作为客户端。 根据这篇文章,这是由于“JVM正在经历长时间的垃圾收集暂停”,但是基础设施团队已经向我确认,我们已经在服务器JVM选项中包含了和,这一行日志只显示在SpringBoot应用程序中。 请在以下问题上提供帮助: GC发生在客户端(SpringBoot应用程序)还是服务器节点? 长时间GC

  • 我创建的Android应用程序包含2个按钮,点击每个按钮播放mp3文件。问题是,当我播放按钮1时,它播放声音1,当我单击按钮2时,它播放声音2。 我检查其他玩家的每个按钮是否正常工作,然后停止并播放单击的按钮 但是,如果我两次单击同一个按钮,则会将第一个音频保持在后台播放,然后再次播放另一个音频 我试图检查并停止它,但它不起作用! 我想,如果我点击按钮1,它将播放声音,如果再次点击它,它将停止播放