我写了一个非常简单的Android应用来测试Android中的MediaPlayer。应用程序适用于某些Android手机,但这个应用程序不适用于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中的错误还是我错过了什么?
答案 0 :(得分:0)
问题:MediaPlayer不在Galaxy Note中播放WAV声音文件。我在Galaxy Gio,S和sony Xperia上测试了应用程序,一切都很好。
基于此link:
典型错误如下: 1.文件路径有误。找不到错误的目录或Url或Uri。 2.媒体文件错误,格式不兼容。 3.缺少权限。
最后我发现媒体格式不正确。更改媒体文件和“注意”播放声音!