[英]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.