2013-05-14 18 views
7

Używam MediaRecorder do nagrywania połączeń w Androidzie. Ale chcę tylko nagrać głos rozmówcy. Czy można to zrobić?Nagrywaj tylko głos rozmówcy w Androidzie

recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL); 
    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
    // mRecorder.setOutputFile("/sdcard/yousuck2.3gp"); 
    if (audiofile == null) { 
     File sampleDir = Environment.getExternalStorageDirectory(); 

     try { 
      audiofile = File.createTempFile("ibm", ".3gp", sampleDir); 
     } catch (IOException e) { 
      Log.e(TAG, "sdcard access error"); 
      return; 
     } 
    } 

także jaka jest różnica między VOICE_CALL, VOICE_UPLINK i VOICE_DOWNLINK? Czytałem dokumenty Android, ale nie mogłem tego zrozumieć.

+0

Witam w moim przypadku chcę obu stron nagrywania, ale w niektórych telefonach komórkowych, takich jak Samsung S8plusEdhe, S7edge nie działa, nagrywają tylko mój głos, a nie inny głos, który rozmawiam przez telefon. –

Odpowiedz

0

Czym różni się VOICE_CALL, VOICE_UPLINK i VOICE_DOWNLINK ??? czytałem na dokumentach Androida ... nie rozumiałem.

Klasy MediaRecorder.MediaSource się po poziomie API 4 (Mobile 1.6) zawiera

  1. VOICE_CALL Połączenie głosowe Uplink + zstępującego źródło dźwięku
  2. VOICE_DOWNLINK głosowego połączenia zstępującego (Rx), źródło dźwięku
  3. VOICE_UPLINK Źródło dźwięku połączenia głosowego (Tx)

Zobacz szczegóły tutaj

proff link

Używam nagrywarkę na nagrywanie rozmów w Androidzie. Ale chcę tylko nagrać głos rozmówcy. Czy można to zrobić?

Krótko mówiąc, niemożliwe jest nagrywanie rozmowy bezpośrednio na platformę Android, ze względu na architekturę sprzętową. Większość rejestratorów rozmów w rynku głosu głosu, gdy urządzenie na głośnik lub tej samej techniki.

+0

Widziałem ten link. Uruchomiłem kody dla wszystkich przypadków, ale wszystkie działają tak samo ... więc nie rozumiem celu trzech źródeł. Plz Wyjaśnij –

+0

"Jaka jest różnica między VOICE_CALL, VOICE_UPLINK i VOICE_DOWNLINK? Czytam na dokumentach Android ... nie rozumiem." http://stackoverflow.com/questions/10330340/android-audiorecord-which-settings-to-record-call/13090413#13090413 – Snaker

2

Przed czas temu miałem ten sam problem mam dużo szukanego niż znalazłem proste rozwiązanie słowo z https://stackoverflow.com/a/13090413/3514144 poznałem, że VOICE_UPLINK: Dźwięk transmitowany od końca drugiej stronie. IOW, co mówisz do mikrofonu (plus otaczający hałas w zależności od tego, czy zastosowano tłumienie szumów i jak dobrze to działa).

VOICE_DOWNLINK: Dźwięk przesyłany z drugiej strony do końca.

VOICE_CALL: VOICE_UPLINK + VOICE_DOWNLINK.

więc używam format zapisu jako DOWNLINK i jego pracy grzywny nadzieję, że to proste słowo do odróżnienia.

+0

z jakim urządzeniem to działało? –

+1

Sprawdziłem to na LG nexus5 –