我写了一个非常简单的 android 应用程序来测试 Android 中的 MediaPlayer。应用程序在一些安卓手机上运行良好,但这个应用程序在 Galaxy Note 上不起作用。
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();
}
}
你知道原因吗?你有什么主意吗?这是 Galaxy Note 中的错误还是我错过了什么?