Android MediaPlayerプレイベルsetDataSource異常

544 ワード

Android MediaPlayerを使用して着信音を再生する場合、同じMediaPlayerオブジェクトで複数の着信音を再生する場合は、setDataSourceの前にresetを呼び出す必要があります.そうしないと、例外が発生します.
try {
    smMediaPlayer.reset();
    mMediaPlayer.setDataSource(context, uri);
    mMediaPlayer.setLooping(false); //    
    mMediaPlayer.prepare();
    mMediaPlayer.start();
} catch (IOException e) {
    e.printStackTrace();
}