2013-02-28 251 views
12

有沒有什麼方法可以攔截或只讀android設備中的音頻輸出?android獲取設備整體音頻輸出pcm

我需要從myActivity中讀取PCM中的全部音頻輸出,包括背景中的媒體播放器應用程序,來自呼叫的語音,myACtivity中的MediaPlayer靜音等等,以及由揚聲器播放的所有內容。實際上,如果可以單獨閱讀,那也會很好。

我試過AudioRecord,把它當作audioSource參數,在MediaRecorder.AudioSource找到的每個常量都沒有運氣,我應該試試不同的audioSources嗎?

這是一個如此低級的任務,必須在本地層內處理?

+0

Android不支持此操作。如果您使用Java API或本機API,則無關緊要。 – Michael 2013-02-28 11:48:20

+0

我現在有點難過,不過謝謝 – lelloman 2013-02-28 21:50:27

回答

9

visualizer類是有幫助的。我用它播放立即播放的音頻here

但是,這種音頻質量很差,所以它只能用於可視化。

+0

感謝您的輸入,我讀了您的代碼,我在想,可視化器的音頻輸入是什麼?我很好奇這條線audioOutput =新的Visualizer(0); //獲取輸出音頻流' – lelloman 2015-05-11 08:18:31

+1

根據可視化文檔:「在輸出混合(音頻會話0)上創建可視化器...」基本上,這會創建基於Android音頻輸出流的Visualizer,而不是基於任何獨立輸出流。請注意,您需要權限MODIFY_AUDIO_SETTINGS才能使構造函數獲取android的輸出音頻流。 – TheLivingForce 2015-05-12 05:29:22

+0

謝謝,我會盡快嘗試,你可能會成爲我的英雄 – lelloman 2015-05-12 09:24:45