2012-05-14 30 views
0

我正在開發Android中的音頻捕捉。我剛纔提到Android:錄製音頻 - 停止錄製後獲取結果

How to Make custome record view Meter?

這裏走出來的媒體後,我可以得到結果。但是我想要停止記錄後的結果。有沒有任何選擇?

我的代碼:

MediaRecorder recorder; 
    public static int RECORD_REOUEST = 0; 


@Override 

    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     Intent intt = new Intent(Media.RECORD_SOUND_ACTION); 
     startActivityForResult(intt, RECORD_REOUEST); 
    } 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    if (resultCode == RESULT_OK && requestCode == RECORD_REOUEST) 
    { 
     Uri recordedAudioPath = data.getData();   
    } 
} 

注:問題僅與設備。

回答

0

可以使用android.media.MediaRecorder由具有啓動(做到這一點)和stop()方法

import android.media.MediaRecorder; 
final MediaRecorder recorder = new MediaRecorder(); 

public void start() { 
    recorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
    recorder.setOutputFile(path); 
    recorder.prepare(); 
    recorder.start(); 
} 
    public void stop() { 
    recorder.stop(); 
    recorder.release(); 
} 

看看這個類似的帖子Stackoverflow Record Audio一個完整的例子。它會將錄製內容保存到停止錄製時可以達到的外部存儲設備。

+0

感謝您的回覆。我想在OnActivityResult方法中得到結果。 – Ponmalar

+0

嗯沒關係。當你按下「完成」時,OnActivityResult被觸發並且路徑被保存在Uri recordingAudioPath中。你想要完成什麼?你有正確的路徑:「content:// media/external/audio/media/...」,當你從Intent返回(「android.provider.MediaStore.RECORD_SOUND」)時可以使用路徑。 – Priebe

+0

請檢查我的編輯代碼,錄製後沒有任何選項,如「完成」。 – Ponmalar