これは、新しいMediaPlayer
オブジェクトを作成しているためです。これにはセットがありませんonPreparededListener
。
MediaPlayer
ここでは、オブジェクトを作成して割り当てます。
mediaPlayer = new MediaPlayer();
次に を設定onPreparedListener
します。
ただし、新しいものを作成して割り当てます。この割り当ては、前の行を上書きします。
mediaPlayer = MediaPlayer.create(this, R.raw.my_sound_mp3);
これにはonPreparedListener
セットがありません。
create
修正するには、メソッドを使用しないで、setDataSource
代わりに使用してください
AssetFileDescriptor afd = context.getResources().openRawResourceFd(R.raw.my_sound_mp3);
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setOnPreparedListener(new OnPreparedListener(){
@Override
public void onPrepared(MediaPlayer mp){
if (mp.equals(mediaPlayer)) isReady_mediaPlayer = true;
Log.e("I", "Media player has been loaded to memory !");
}
});
mediaPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
afd.close();
mediaPlayer.prepare();