2012-04-13 49 views
0

我一直在看這個例子https://stackoverflow.com/a/8974361/1191501,它完美的工作。但我的問題是我如何參考錄製的音頻,以便它可以直接播放?安卓回放錄製的音頻

輸出代碼是:

recorder.setOutputFile("/sdcard/audio/"+filename); 

,這絕對錄製音頻。

,然後播放音頻,我用的是:

player.setDataSource(); 

,但我不知道如何引用文件名位,所以它播放。有任何想法嗎?

回答

0

展望here

player.setDataSource("/sdcard/audio/"+filename); 
player.prepare(); 
player.start(); 

會的工作,我覺得。

+0

恐怕不是。我只是得到logcat錯誤04-13 03:26:29.180:E/MediaPlayer(7507):錯誤(1,-2147483648),它無法從SD卡讀取。 – Twigondrums 2012-04-13 03:32:07

+0

您能否驗證該文件是否正在寫入? – blackbourna 2012-04-13 03:47:09

+0

是的,我已經設置了一個菜單,顯示SD卡上的音頻,選中時,它會加載到播放器中。當我選擇剛剛錄製的音頻時,它沒有任何問題。我只是在播放音頻時出現問題,無需進入菜單。 – Twigondrums 2012-04-15 14:59:37

1

我在播放SD卡音頻時遇到了類似的問題。這對我來說是什麼:

private void playMedia() { 
    String path = Environment.getExternalStorageDirectory() + "/audio_stuff.mp3"; 
    mediaPlayer = MediaPlayer.create(this, Uri.parse(path)); 
    mediaPlayer.start(); 
} 

確保在完成後釋放MediaPlayer實例並將其設置爲null。以防萬一,當您嘗試播放音頻文件時,請確保您的SD卡未安裝。 :)

+0

是啊,確保mediaplayer被釋放並設置爲空,仍然沒有。出於興趣,我不需要安裝SD卡來播放文件,因爲這是存儲的地方? – Twigondrums 2012-04-15 14:59:19

+0

通過「安裝」我的意思是你的設備通過USB電纜連接到你的電腦,訪問啓用SD卡。 – 2012-04-16 06:21:44

+0

好的,我現在沒有使用設備,只是模擬器。 – Twigondrums 2012-04-16 10:20:03