2016-04-07 58 views
7

我正在尋找將設備麥克風錄製的音頻與設備正在播放的聲音組合在一起的方法。Android - 正在播放從設備播放到耳機插孔的音頻

現在你可能會說這是一件容易的事,麥克風可以同時錄音,但情況並非如此,因爲設備正在播放的音頻會播放到耳機插孔而不是揚聲器。

有沒有辦法做到這一點?

+0

請看看在這個http://stackoverflow.com/questions/17676142/record-android-audio-output – darwin

+0

你想混合你的麥克風聲音與你的應用程序播放的音頻只?如果是這樣,那麼你可以將兩個數字流複用。如果您想將麥克風聲音與通過耳機揚聲器播放的其他應用程序的聲音混合,那麼我認爲沒有辦法。 – Ankit

回答

3

我不明白你想要什麼。如果你談論的是記錄輸入信號源有不同的代碼的Android OS提供給你諸如MIC,下行鏈路/耳機揚聲器攝錄機等...

來源的sode從android developer site

private void startRecording() { 
     mRecorder = new MediaRecorder(); 
     mRecorder.setAudioSource(MediaRecorder.AudioSource.VOICE_DOWNLINK); 
     mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
     mRecorder.setOutputFile(mFileName); 
     mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 

     try { 
      mRecorder.prepare(); 
     } catch (IOException e) { 
      Log.e(LOG_TAG, "prepare() failed"); 
     } 

     mRecorder.start(); 
    } 
+0

我想他想記錄設備發出的內容。一種迴環。 –

+0

如果錄音發送然後使用MediaRecorder.AudioSource.VOICE_UPLINK – Attaullah

+0

您好Attaullah, 我正在尋找一種方式來記錄設備正在播放的耳機插孔的音頻(不是在通話過程中,應用程序)。 我試着運行你的代碼,但VOICE_UPLINK/DOWNLINK沒有工作, - 總是返回一個錯誤。我也嘗試使用AudioRecord使用相同的源,但沒有運氣。有任何想法嗎?非常感謝。 – ori888