2012-03-18 50 views
2

我想建立一個需要記錄電話(主要是傳出)電話凍結錄音電話

我試圖向媒體源設置爲MediaRecorder.AudioSource.VOICE_CALL,它總是會導致應用程序的時候凍結。

我也嘗試將媒體源設置爲MediaRecorder.AudioSource.VOICE_DOWNLINK,但只要連接到電話,就會崩潰。

我曾嘗試以下權限:

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> 
<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
<uses-permission android:name="android.permission.Permissions.PROCESS_OUTGOING_CALLS"/> 

但沒有任何工程。

有關錄製電話的任何建議。

此外,我發現一些老職位,說只有一些手機允許錄製語音通話。

有什麼辦法,如果這個程序是這樣的一款手機上運行以編程方式檢測(如果沒有,我可以讓他們使用免提電話或東西)

謝謝!

回答

1

爲了實現這個目標,你需要所有這些,我相信:

<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" /> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 
<uses-permission android:name="android.permission.RECORD_AUDIO" /> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<uses-permission android:name="android.permission.CALL_PHONE" /> 

,最有可能

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

當然,你會想,以確保所有適當的警告和最終用戶許可協議是到位。

不知道如果你發佈什麼

<uses-permission android:name="android.permission.Permissions.PROCESS_OUTGOING_CALLS"/>

是一個錯字,但它應該是

<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/> 

就像你說:old posts談的是,有些設備不支持通話錄音功能。

  • 有什麼方法可以測試其他設備,或者要求朋友或一小組測試人員嘗試其他設備......問題似乎是entirely device specific

我會建議您嘗試上述權限,看是否可以在其他設備上進行測試,以縮小,如果是設備或編程問題,如果它的設備,那麼你就可以知道,更好的找到一個可行的解決方法。

+0

我在我的Galaxy SII上試過這些,但它只是崩潰:( – 2012-03-27 01:24:12

+0

什麼是logcat輸出時,它崩潰? – TryTryAgain 2012-03-27 01:40:37