java - Android MediaPlayer 在seekTo 后重新启动时剪辑

标签 java android media-player

我正在使用 Android MediaPlayer 从本地源播放。除了重新启动声音时出现一个错误之外,它运行良好。

public void create() {
   FileInputStream in = mApp.openFileInput(mMusicFile);
   mp = new MediaPlayer();
   mp.setDataSource(in.getFD());
   mp.prepare();
   mp.setLooping(true);
}

public void play() {
   mp.start();
}

public void stop() {
   mp.stop();
   mp.prepare();
   mp.seekTo(0);
}

如果我调用 stop(),然后大约一秒钟后调用 play(),我会听到声音停止处的简短 fragment ,然后声音重新开始。

最佳答案

我相信这是 Android 2.2 Froyo 中的一个已知错误。规定的解决方法是删除 MediaPlayer 并创建一个新的 MediaPlayer 或淡入播放。

寻道后内部缓冲区不会被刷新。

关于java - Android MediaPlayer 在seekTo 后重新启动时剪辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5985874/

相关文章:

android - Openstreetmap 隧道

javascript - 如何解析MP4破折号文件的 `sidx`

java - 如何在 java 中打印完整的 elasticsearch 调试请求

Java 音频比较

java - 如何阻止 GMail 将电子邮件中的嵌入图像显示为附件?

java - 为什么我会收到并发线程错误

Android - 相机预览是横向的

c# - UWP Windows.Media.Playback - 停止/卸载剪辑

android - 在 MediaPlayer 中开始播放远程 mp3 的事件

java - 原型(prototype)在 nashorn 中从 globalscope 更改为 enginescope