即時製作音樂應用程序只是爲了好玩。我可以從SD卡上讀取所有音樂文件,但MediaPlayer無法播放聲音。我有文件的路徑,我通過setDataSource
傳遞給媒體播放器,但沒有任何反應,我也沒有例外。這是我使用的代碼。安卓媒體播放器不會播放音頻文件
Uri songUri;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_player);
setUpViews();
MediaPlayer mp = new MediaPlayer();
try {
mp.setDataSource(songUri.toString());
mp.prepare();
} catch (IllegalArgumentException e) {
Toast.makeText(this, "ILLEGAL ARGUMENT EXCEPTION", Toast.LENGTH_LONG).show();
e.printStackTrace();
} catch (SecurityException e) {
Toast.makeText(this, "SECURITY EXCEPTION", Toast.LENGTH_LONG).show();
e.printStackTrace();
} catch (IllegalStateException e) {
Toast.makeText(this, "ILLEGAL STATE EXCEPTION", Toast.LENGTH_LONG).show();
e.printStackTrace();
} catch (IOException e) {
Toast.makeText(this, "IO EXCEPTION", Toast.LENGTH_LONG).show();
e.printStackTrace();
}
mp.start();
Log.d("URI AFTER SET UP", songUri.toString());
}
正如我之前所說的,當我打開這個活動時,我仍然得到了控制檯中的所有Log.d。媒體播放器是否還有其他配置可以播放音樂?提前致謝。
這是一個傳遞給媒體播放器/ mnt/sdcard/music/2Pac/Hail Mary.mp3的路徑我試着去適應你說的但是它不起作用。還有更多的消費嗎?謝謝 – madcoderz 2013-04-23 08:03:49
它應該工作,您可以確認您的設備上的音量達到最大。 – FireAndIce 2013-04-23 09:18:00
的音量是最大的。我在手機上播放了Android音樂播放器上的歌曲,它可以工作,但它不適用於我的應用程序。我把'mp.isPlaying()'這樣的if語句放在了'我真的''我不知道爲什麼沒有聲音,因爲它似乎在播放。我還有其他配置,我應該知道嗎?謝謝 – madcoderz 2013-04-23 13:45:48