我沒有安卓手機,但我正在努力爲它開發。目前測試我的應用程序的唯一方法是使用我讀過的模擬器不支持音頻錄製。不過,我讀到了啓動命令「-audio」,它允許您的電腦使用'winaudio'後端進行音頻輸入/輸出。雖然我一直無法使用它,但有可能使用我的電腦麥克風進行錄製嗎?如果是這樣,我做錯了什麼?Android模擬器可以使用PC硬件錄製和播放音頻嗎?
回答
我的知識:爲了能夠使用MediaRecorder,您需要構建整個源,以便您可以使用錄製工具以及您提到的選項。
- 獲取您定位的android版本的源代碼。
- 通過構建通用的圖像:(即選擇通用的選擇,而不是仿真器)
. build/envsetup.sh
lunch 1
make -j<number>
其中number
= #cores通過你的電腦支持;排除尖括號
cd out/target/.../generic
,...表示其餘的路徑達到通用;將環境變量ANDROID_PRODUCTION_OUT設置爲此目錄。- 使用-audio選項從out/host /.../ bin目錄運行模擬器。
這應該是理想的工作。
默認的sdk不支持您的用例,因爲您在此處有正確提及。
至少在Windows 7的標準2.3.3模擬器中可以錄製音頻;我已經嘗試過,它的工作原理。然而,在我的情況下,錄製的音頻聽起來有點怪(慢)。我沒有調查原因。
您需要將音頻錄製+播放支持添加到模擬器(Android SDK和AVD管理器 - >虛擬設備 - >編輯 - >硬件 - >新建)。然後使用[MediaRecorder API] [1]錄製(MediaRecorder.AudioSource.MIC)。
代碼是:
fMediaRecorder= new MediaRecorder();
fMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
fMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
fMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
fMediaRecorder.setAudioChannels(1);
fMediaRecorder.setAudioSamplingRate(8000);
fMediaRecorder.setOutputFile(fTmpFile.getAbsolutePath());
fMediaRecorder.prepare();
fMediaRecorder.start();
您還需要
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
在AndroidManifest.xml
對我的作品,但聲音失真。
你會請上傳一些在Windows7上工作的源代碼來記錄聲音在Android模擬器?我真的需要它。 – 2011-08-25 13:33:17
添加了我的答案的代碼。 – Tom 2011-08-28 17:02:35
好的,謝謝你的回覆。我已經完成了我自己的。它的工作也在1.6。 – 2011-08-29 04:05:43
不可以。使用模擬器記錄聲音是不可能的。您必須編寫程序的邏輯代碼,然後將實際的apk部署到手機上,以測試其功能。
請檢查這個環節,因爲它對我的評論的官方參考:http://developer.android.com/intl/es/guide/topics/media/audio-capture.html
- 1. Android模擬器可以訪問PC硬盤中的文件嗎?
- 2. 是否可以在iPhone模擬器中錄製和播放音頻?
- 3. iPhone和Android可以錄製和播放哪種音頻格式?
- 4. 錄製和播放音頻
- 5. 使用libgdx錄製和播放音頻
- 6. 使用iPod錄製和播放音頻
- 7. 使用音頻播放視頻後錄製音頻和視頻
- 8. Android - 我可以從音頻混音器獲取音頻數據以播放嗎?
- 9. 我可以使用MPMusicPlayerController播放錄製的.caf類型的音頻文件嗎?
- 10. 無法在Android模擬器中使用html5音頻標籤播放音頻
- 11. Android同時播放音頻和錄製音頻
- 12. 用AVAssetWriter錄製和播放音頻
- 13. 使用android模擬器錄製聲音
- 14. 我可以使用Video.JS作爲音頻播放器嗎?
- 15. 可以播放二進制音頻流的Flash音頻播放器
- 16. 如何使用Android媒體播放器錄製視頻和音頻
- 17. 可以使用MPMusicPlayerController播放本地音頻文件嗎?
- 18. 如何從播放音樂播放器錄製音頻
- 19. 我可以在Android Wear上播放音頻文件嗎?
- 20. 模擬器播放視頻嗎?
- 21. 從媒體播放器錄製音頻
- 22. 使用Android媒體播放器播放m3u8音頻文件
- 23. android使用默認播放器播放音頻文件
- 24. 如何錄製音頻和播放C#
- 25. 同時錄製和播放音頻
- 26. 在iPhone上錄製音頻和播放
- 27. 同時錄製音頻和播放iPod?
- 28. 音頻錄製和播放VC++
- 29. 在iphone中錄製和播放音頻
- 30. 錯誤在錄製和播放音頻
我在窗口,我剛纔讀的構建源代碼只可能在OSX和Linux操作系統。它是否正確?有沒有其他方法? – Steve 2011-03-10 03:45:39
我認爲這是正確的。另外:對於Froyo而言,你需要32位的Linux;對於薑餅和以上,你需要64位的Linux。我不知道有任何其他方式... – Mno 2011-03-10 04:16:30