Android MediaPlayer 播放铃声setDataSource异常

在使用Android MediaPlayer播放铃声时,如果要用同一个MediaPlayer对象播放多个铃声时,需要在setDataSource前先调用一下reset,不然会触发异常:

try {
    smMediaPlayer.reset();
    mMediaPlayer.setDataSource(context, uri);
    mMediaPlayer.setLooping(false); //循环播放
    mMediaPlayer.prepare();
    mMediaPlayer.start();
} catch (IOException e) {
    e.printStackTrace();
}
复制代码

你可能感兴趣的:(Android MediaPlayer 播放铃声setDataSource异常)