2011-04-20 134 views
1

我想觸發基於音頻輸入的事件,但我不知道如何去做這件事。在線搜索中,我找到了很多關於如何將音頻記錄到文件的教程,但沒有介紹如何分析麥克風輸入。分析麥克風輸入

如果我能弄清楚怎麼說,根據音量動畫用戶界面,就像在語音搜索過程中上下移動的酒吧一樣,我希望能夠找出其他問題。我不想做任何像語音識別這樣複雜的事情,我只是用它來檢測何時通過來自其他設備的3.5mm麥克風接收到信號。

在這一點上,我甚至不知道我應該尋找什麼。

感謝您的任何幫助。

回答

2

從理論的角度來看,你將學到什麼叫做「傅里葉變換」。不過,我建議您立即申請實際應用,請查看this

我希望這有助於

布賴恩J. Stinar-

+0

這應該有助於分配!我的應用程序與他的應用程序類似,它會監聽和計時脈衝,但我不應該遇到音量問題。有沒有一種方法可以在不保存到文件的情況下「記錄」?我只想讓我的應用程序聽音頻,我從不需要保存或重放它。如果我沒有設置輸出文件,它會工作嗎? – Matt 2011-04-21 00:27:42

+0

你好,我並不完全確定,但它看起來像getMaxAmplitude() 「返回自上次調用此採樣以來採樣的最大絕對幅度」,因此,看起來您可能只有一個採樣間隔這個,它會給你在這個採樣週期的最大幅度。我認爲。試試他們在下面的鏈接提供的例子,只是不要調用recorder.setOutputFile(),看看會發生什麼。由於我實際上沒有安卓或者仿真平臺,所以我不能輕易嘗試... http://developer.android.com/reference/android/media/MediaRecorder.html – 2011-04-21 16:00:31

+0

如果確實需要一個文件,請嘗試搜索臨時文件。我敢打賭,android提供了一個臨時文件API。如果他們不這樣做,那麼如果你需要調用setOutputFile(),你總是可以扔掉你的文件。祝你好運! – 2011-04-21 16:06:37

0

是否有可能建立一個呼叫時分析我自己的聲音,並實時顯示幅度無論是在前臺或應用程序在後臺捕獲它。或者如果我的聲音超過一定的幅度,它會觸發本地通知(在通話過程中)。