Android KitKat(4.4.2)MediaPlayer OnCompletion()从未调用过

时间:2014-11-15 22:05:41

标签: android android-mediaplayer android-4.4-kitkat

我在运行Android 4.4.2版的设备上遇到MediaPlayer问题。

情况: 我想运行一次MediaPlayer,然后在onCompletion中决定是否要再次播放声音。

问题: * mediaPlayer一直在播放 * onCompletion永远不会被调用 *调用release并将mediaPlayer设置为null不会阻止它

我已经读过,4.4安卓版本中有一个错误。 (https://code.google.com/p/android/issues/detail?id=59185)有人知道,如果这被纠正了吗?还有其他选择吗?

非常欢迎任何想法,建议和答案!

以下是我的一些代码:

public void start(){
    Uri uri = getRingtoneUri(this);         
    try{
        mediaPlayer = new MediaPlayer();
        mediaPlayer.setDataSource(this, notificationSound);
        mediaPlayer = MediaPlayer.create(this,  notificationSound);
        mediaPlayer.setLooping(false);
        mediaPlayer.start();
        mediaPlayer.setOnCompletionListener(this);
    }catch(IOException e){
        log("onStartCommand", "notification Sound could not be loaded: ", e);
    }
}

public void onCompletion(MediaPlayer mp) {
    log("onComltion", "stop: " + stop);
    // do something
    }



public void stop(){
    mediaPlayer.release();
    mediaPlayer = null;
    }

0 个答案:

没有答案