[英]MediaPlayer can't play audio in Android
今天,我提出了在Android上播放音乐的应用程序。
使用MediaPlayer
播放音频文件时,我失败了; 它不能播放任何文件音频。 该异常引发如下日志:
E / MediaPlayer:错误(1,-2147483648)
W / System.err:java.io.IOException:准备失败。:status = 0x1
W / System.err:位于android.media.MediaPlayer.prepare(本机方法)
此代码显示更多信息; 异常发生在以下行:
mediaPlayer.prepare();
此类包含以下行:
public void playAudio() {
Intent intent = getIntent();
fileName = (TextView) findViewById(R.id.file);
playBtn = (ImageButton) findViewById(R.id.play);
String chooseFiles = intent.getStringExtra("fileName");
try {
mediaPlayer = new android.media.MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(chooseFiles);
mediaPlayer.prepare();
}
catch (IOException e) {
e.printStackTrace();
}
fileName.setText(fName.substring(chooseFiles.lastIndexOf("/") + 1));
mediaPlayer.start();
timeElapsed = mediaPlayer.getCurrentPosition();
}
我在AndroidManifest.xml
添加了权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
如何解决这个问题? 非常感谢你。
MediaPlayer
无法访问您的文件,因为它找不到它,在这种情况下,您应该尝试将"file://"
附加到路径中
file:///storage/sdcard0/audio/2016-03-24 15.02.58.mp4
或者,如果这是权限问题(很可能是因为您遇到此错误(1, -2147483648)
),则传递一个像这样的文件描述符
File file = new File(chooseFiles);
FileInputStream inputStream = new FileInputStream(file);
mediaPlayer.setDataSource(inputStream.getFD());
inputStream.close();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.