Android 媒体播放器问题
我的Android media player存在严重问题,我似乎无法播放参考资料中原始文件夹中的媒体文件(.mp3)。我有以下代码:Android 媒体播放器问题,android,android-mediaplayer,Android,Android Mediaplayer,我的Android media player存在严重问题,我似乎无法播放参考资料中原始文件夹中的媒体文件(.mp3)。我有以下代码: private void playSound(String location) { try { Uri mp3 = Uri.parse("android.resource://" + getPackageName() + "/raw/" + location); mediaPlayer = n
private void playSound(String location) {
try {
Uri mp3 = Uri.parse("android.resource://" + getPackageName()
+ "/raw/" + location);
mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(MainActivity.this, mp3);
mediaPlayer.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
// TODO Auto-generated method stub
mp.start();
}
});
mediaPlayer.prepareAsync();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
每次尝试运行此代码时,我都会在log cat中获得以下内容:
11-26 21:28:55.196: E/MediaPlayer(19441): error (1, -2147483648)
11-26 21:28:55.200: E/MediaPlayer(19441): Error (1,-2147483648)
我还尝试了以下代码:
mediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.mp3);
mediaPlayer.start();
但每次运行该代码时,都会出现以下错误:
11-26 21:33:26.765: E/MediaPlayer(19813): Should have subtitle controller already set
我已经调查过了,Android 5.0和媒体播放器似乎有问题,但我真的需要解决这个问题,到目前为止我还没有运气。以前是否有人遇到过这两个问题中的一个或两个?如果是的话,哪一个有最好的解决方案
谢谢。这是我的建议。尝试将media player卷
mediaPlayer.setVolume(0.5f,0.5f)
与您的第二个实现结合起来设置。另一个快速建议是,由于我不能100%确定这会解决您的问题,请尝试将第一个实现中的uri更改为此uri.parse(“android.resource://”+getPackageName()+“/”+R.raw.audioFileToPlay)代码>,其中audioFileToPlay是资源id。我现在在另外两台设备上测试了该应用程序,发现运行5.0的Nexus 5是唯一存在这些问题的设备。看起来5.0有问题,你可以使用外部应用程序从应用程序外部播放相同的mp3文件吗?我也是,android5带nexus5错误无法播放背景音乐