Android MediaPlayer.stop() 暂停而不是停止

标签 android android-mediaplayer

我已经为 android.media.mediaplayer 编写了两个类包装器。

如果我使用来自工厂 MediaPlayer.Create() 的对象。然后 mediaplayer 对象在它的方法 stop 被调用时停止播放歌曲(这就是停止播放歌曲,所以当我调用 play() 时,它从歌曲的开头开始播放)。但是,如果我使用默认构造函数,stop() 的行为与 pause() 完全一样,保持歌曲中的先前位置(除了它确实处于停止状态)。

我不得不在 prepare() 和 stop() 之后使用 seekTo(0) 来做我想做的事,但这不是文档所说的。

public void start () Since: API Level 1

Starts or resumes playback. If playback had previously been paused, playback will continue from where it was paused. If playback had been stopped, or never started before, playback will start at the beginning.

因此,如果我在它停止时调用 start(),它应该从头开始。

这是我类(class)的 stopSong 方法的代码:

public void stopSong() {
    if(mpPrepared){
        mp.stop();
        try {
            mp.prepare();
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        mp.seekTo(0);
    }
}

有人能告诉我为什么会这样吗?谢谢!

最佳答案

    if(mp.isPlaying){

    try {
    mp.stop();
    mp.prepare();      
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }}

希望对你有帮助

关于Android MediaPlayer.stop() 暂停而不是停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8970546/

相关文章:

java - 如何在主页上交换 fragment (并修复 java.lang.IllegalArgumentException : No view found for id 0x7f08007c)

java - Android:在 View 中使用观察者模式(可能与 MVC、MVVM 相关)

java - Android Studio 单元测试中的 Assets 文件夹

android - org.gradle.api.ProjectConfigurationException :A problem occurred configuring root project after updated to AndroidStudio - 3. 5.3

java - Android - 媒体播放器 : How to separating fastForward to another method (that later will be call)?

java - Android Studio 运行中出现空 Throwable 错误

android - 未准确调用 MediaPlayer onCompletion

Android:在服务器上播放 mp3 文件时出现异常。

android - 工作 Intent 服务是否总是在同一个后台线程中启动?

android - 即使应用被杀死,声音仍会继续播放