Android之关于电话录音原理,目前的方法还是只能录MIC
生活随笔
收集整理的這篇文章主要介紹了
Android之关于电话录音原理,目前的方法还是只能录MIC
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
對(duì)于android來講,沒有API直接支持對(duì)電話進(jìn)行雙向錄音。
雖然MediaRecorder里面可以設(shè)置recodeRecorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);來表示要對(duì)雙向進(jìn)行錄音,但是這個(gè)功能實(shí)際是不可使用的,唯一能直接使用的還是VOICE_MIC。也就是對(duì)MIC進(jìn)行錄音。現(xiàn)在很多的所謂錄音軟件應(yīng)該都是用的MIC進(jìn)行錄音的。無論是用MediaRecorder這個(gè)類還是用的比較高級(jí)寫的AudioRecord這個(gè)類。
可以參考下面這個(gè)文檔對(duì)錄音使用MediaRecorder設(shè)計(jì)的源代碼的分析。貌似按照這里面所講貌似這幾個(gè)參數(shù)傳進(jìn)來直接就不支持了,需要有音頻硬件的支持。
http://wenku.baidu.com/view/71d3e008844769eae009ed00 .html
目前看到的比較流行的一個(gè)CallRecord軟件的說明,如果要雙向錄音的話,需要有硬件驅(qū)動(dòng)的支持,對(duì)于某些型號(hào)的手機(jī),這個(gè)可以通過打補(bǔ)丁的方式進(jìn)行支持,對(duì)于其他沒法打補(bǔ)丁的機(jī)型的話,就只能通過MIC讀來支持了。
http://forum.xda-developers.com/showthread.php?t=1441643
綜合上面來看,目前來講比較通用的方法還是只能用MIC來進(jìn)行雙向的錄音了。使用了一個(gè)使用AudioRecord進(jìn)行錄音的軟件,不開免提的話通話錄音效果還可以,對(duì)方聲音還可以忍受。不過這個(gè)還是有一些噪聲可以聽出來。目前只能先用這個(gè)方法湊活著用了。
可以參考這個(gè),這個(gè)程序主要功能還是把錄音轉(zhuǎn)成MP3,需要用外部庫(kù)
http://garage.uraroji.com/2011/03/03/android上でのmp3エンコードのサンプル/
另外關(guān)于錄音還有一點(diǎn)需要注意,在注冊(cè)了電話錄音狀態(tài)的監(jiān)聽函數(shù)以后,不要在這個(gè)listen函數(shù)里面直接錄音,這樣的話會(huì)導(dǎo)致問題,系統(tǒng)會(huì)卡在CALL_STATE_OFFHOOK這個(gè)狀態(tài)。這中l(wèi)isen需要盡快的返回,可以在這里面起一個(gè)service,然service實(shí)現(xiàn)錄音的功能,然后在idle的時(shí)候把這個(gè)service停掉,或者里面對(duì)應(yīng)的錄音停掉。起一個(gè)新的thread貌似也是可以的。
雖然MediaRecorder里面可以設(shè)置recodeRecorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);來表示要對(duì)雙向進(jìn)行錄音,但是這個(gè)功能實(shí)際是不可使用的,唯一能直接使用的還是VOICE_MIC。也就是對(duì)MIC進(jìn)行錄音。現(xiàn)在很多的所謂錄音軟件應(yīng)該都是用的MIC進(jìn)行錄音的。無論是用MediaRecorder這個(gè)類還是用的比較高級(jí)寫的AudioRecord這個(gè)類。
可以參考下面這個(gè)文檔對(duì)錄音使用MediaRecorder設(shè)計(jì)的源代碼的分析。貌似按照這里面所講貌似這幾個(gè)參數(shù)傳進(jìn)來直接就不支持了,需要有音頻硬件的支持。
http://wenku.baidu.com/view/71d3e008844769eae009ed00 .html
目前看到的比較流行的一個(gè)CallRecord軟件的說明,如果要雙向錄音的話,需要有硬件驅(qū)動(dòng)的支持,對(duì)于某些型號(hào)的手機(jī),這個(gè)可以通過打補(bǔ)丁的方式進(jìn)行支持,對(duì)于其他沒法打補(bǔ)丁的機(jī)型的話,就只能通過MIC讀來支持了。
http://forum.xda-developers.com/showthread.php?t=1441643
綜合上面來看,目前來講比較通用的方法還是只能用MIC來進(jìn)行雙向的錄音了。使用了一個(gè)使用AudioRecord進(jìn)行錄音的軟件,不開免提的話通話錄音效果還可以,對(duì)方聲音還可以忍受。不過這個(gè)還是有一些噪聲可以聽出來。目前只能先用這個(gè)方法湊活著用了。
可以參考這個(gè),這個(gè)程序主要功能還是把錄音轉(zhuǎn)成MP3,需要用外部庫(kù)
http://garage.uraroji.com/2011/03/03/android上でのmp3エンコードのサンプル/
另外關(guān)于錄音還有一點(diǎn)需要注意,在注冊(cè)了電話錄音狀態(tài)的監(jiān)聽函數(shù)以后,不要在這個(gè)listen函數(shù)里面直接錄音,這樣的話會(huì)導(dǎo)致問題,系統(tǒng)會(huì)卡在CALL_STATE_OFFHOOK這個(gè)狀態(tài)。這中l(wèi)isen需要盡快的返回,可以在這里面起一個(gè)service,然service實(shí)現(xiàn)錄音的功能,然后在idle的時(shí)候把這個(gè)service停掉,或者里面對(duì)應(yīng)的錄音停掉。起一個(gè)新的thread貌似也是可以的。
總結(jié)
以上是生活随笔為你收集整理的Android之关于电话录音原理,目前的方法还是只能录MIC的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android之用jadx进行反编译
- 下一篇: Android之如何ubuntu环境下在