Пожалуйста, помогите мне, если вы знаете, как записывать голос, а также записывать голос как вызывающего абонента, так и звонка во время телефонного звонка. Если кто-нибудь знает, дайте мне подсказку.
Как записать голос и записать вызов в Android?
Ответ 1
Да Можно просто сделать это
final MediaRecorder callrecorder = new MediaRecorder();
callrecorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
callrecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
callrecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
callrecorder.setOutputFile(filepath);
try {
callrecorder.prepare();
} catch (IllegalStateException e) {
System.out.println("An IllegalStateException has occured in prepare!");
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
//throwing I/O Exception
System.out.println("An IOException has occured in prepare!");
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
callrecorder.start();
} catch(IllegalStateException e) {
e.printStackTrace();
//Here it is thorowing illegal State exception
System.out.println("An IllegalStateException has occured in start!");
}
для остановки вы можете использовать
callrecoder.stop();
Ответ 2
Проверьте это...
http://androidforums.com/android-lounge/181663-android-phone-call-recording-function.html
Короткий ответ:... Получите галактику S, желательно южнокорейскую версию.
Ответ 3
Вы не можете записать телефонный разговор на Android. Потоки находятся в операционной системе нижнего уровня и недоступны на уровне приложений. К сожалению.
Ответ 4
Насколько я знаю, все приложения, которые записывают голосовые вызовы на Android, имеют одинаковую проблему: они работают только на некоторых телефонах, а на других телефонах вы можете слышать только одну сторону разговора. Некоторые из этих приложений пытаются решить эту проблему, записав также с микрофона.
Если у вас есть права root на вашем телефоне Android, я считаю, что есть приложения, которые работают лучше, потому что они имеют доступ к потокам нижнего уровня, как указал Эммануил в своем ответе.
Ответ 5
Я не знаю, возможно ли это, но насколько API идет
recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
эта строка хорошо компилируется в моем коде, где рекордер является объектом MediaRecorder, и я когда-то работал над таким проектом, но позже проект был сброшен, поэтому не уверен, что он работает или не работает
Ответ 6
API, по-видимому, там, но разработчики отключили свою радиопрограмму от возможности сделать это.
Ответ 7
Зависит от телефона к телефону например Вы не можете записывать вызов на телефоны nexus и motorola, так как они не позволяют записывать с микрофона, пока вызов не будет выполнен. Но одна и та же запись с микрофона во время разговора работает на большинстве устройств Samsung и Galaxy.
Ответ 8
Я боюсь узнать, что андроид не имеет собственного api для записи голосовых вызовов. даже потоки абстрагируются в операционной системе и недоступны в прикладном уровне, как заявил Emmanuel hase. Я считаю это серьезной ошибкой Android Devs. если у стены безопасности есть одно крошечное отверстие, это не будет безопасно. Таким образом, даже если дроид ограничивает или пытается ограничивать, существуют другие телефоны, где можно иметь такую функциональность. даже пользовательское ядро дроида может иметь такую функциональность. Это только делает пользователей-дроидов ничтожными.