私はAndroidでMediaPlayerをテストするための非常にシンプルなAndroidアプリを作成しました。アプリは一部のAndroidスマートフォンで正常に動作しますが、このアプリはGalaxyNoteでは動作しません。
MediaPlayer mediaPlayer;
protected class SoundPlayer extends AsyncTask<Integer, Void, Void> {
@Override
protected Void doInBackground(Integer... params) {
mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_RING);
Uri uri = Uri.parse("android.resource://com.example.mediaplayertest/" + params[0]);
try {
mediaPlayer.setDataSource(getApplicationContext(), uri);
mediaPlayer.prepare();
mediaPlayer.start();
mediaPlayer.setLooping(false);
} catch (Exception e) {
Log.d("MPT", e.getMessage());
}
return null;
}
}
public void startPlayingSound(View v) {
soundPlayer = new SoundPlayer();
try {
soundPlayer.execute(R.raw.alarm);
} catch(Exception e) {
Log.d("MPT", e.getMessage());
}
}
public void stopPlayingSound(View v) {
if(mediaPlayer.isPlaying()) {
mediaPlayer.stop();
}
}
理由を知っていますか?何かアイデアはありますか?これはGalaxyNoteのバグですか、それとも何か見落としていましたか?