2013-05-14 32 views
7

Tôi đang sử dụng MediaRecorder để ghi âm cuộc gọi trong Android. Nhưng tôi chỉ muốn ghi lại giọng nói của người gọi. Điều này có thể được thực hiện?Chỉ ghi lại giọng nói của người gọi trong android

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; 
     } 
    } 

Ngoài ra sự khác biệt giữa VOICE_CALL, VOICE_UPLINKVOICE_DOWNLINK là gì? Tôi đọc tài liệu Android nhưng không thể hiểu được.

+0

Xin chào trong trường hợp của tôi tôi muốn cả hai bên ghi âm nhưng trong một số điện thoại di động như Samsung S8plusEdhe, S7edge là không làm việc họ chỉ ghi lại giọng nói của tôi không giọng nói khác mà tôi nói chuyện trên điện thoại. –

Trả lời

0

Sự khác biệt giữa VOICE_CALL, VOICE_UPLINK và VOICE_DOWNLINK ??? tôi đọc trên tài liệu Android ... không hiểu.

Lớp MediaRecorder.MediaSource bây giờ sau khi API Level 4 (Android 1.6) Bao gồm

  1. VOICE_CALL thoại gọi uplink + nguồn âm thanh downlink
  2. VOICE_DOWNLINK thoại gọi downlink (Rx) nguồn âm thanh
  3. VOICE_UPLINK Nguồn âm thanh liên kết cuộc gọi thoại (Tx)

Xem chi tiết tại đây

proff link

Tôi đang sử dụng máy ghi âm phương tiện truyền thông cho cuộc gọi ghi trong android. Nhưng tôi chỉ muốn ghi lại giọng nói của người gọi .. Điều này có thể được thực hiện?

Như một câu trả lời ngắn gọn, không thể ghi lại cuộc gọi trực tiếp trong nền tảng Android cho đến nay, do kiến ​​trúc phần cứng. Hầu hết các máy ghi âm cuộc gọi trên thị trường ghi lại giọng nói khi thiết bị trên loa hoặc cùng một kỹ thuật.

+0

Tôi đã thấy liên kết đó. Tôi chạy mã cho tất cả các trường hợp .. nhưng tất cả đều làm việc giống nhau .. vì vậy tôi không hiểu mục đích của ba nguồn. Plz Giải thích –

+0

"Ngoài ra sự khác biệt giữa VOICE_CALL, VOICE_UPLINK và VOICE_DOWNLINK ??? tôi đọc trên tài liệu Android ... không hiểu." http://stackoverflow.com/questions/10330340/android-audiorecord-which-settings-to-record-call/13090413#13090413 – Snaker

2

Trước khi thời gian trước đây tôi đã có cùng một vấn đề tôi tìm kiếm rất nhiều so với tôi tìm thấy giải pháp từ đơn giản từ https://stackoverflow.com/a/13090413/3514144 tôi đến để biết rằng VOICE_UPLINK: Âm thanh truyền từ cuối cùng của bạn cho bên kia. IOW, những gì bạn nói vào micro (cộng với tiếng ồn xung quanh tùy thuộc vào việc loại bỏ tiếng ồn được sử dụng và nó hoạt động tốt như thế nào).

VOICE_DOWNLINK: Âm thanh được truyền từ bên kia đến cuối của bạn.

VOICE_CALL: VOICE_UPLINK + VOICE_DOWNLINK.

vì vậy tôi sử dụng định dạng kỷ lục như DOWNLINK và làm việc hy vọng tốt đẹp của nó đây là từ đơn giản để phân biệt.

+0

thiết bị nào đã hoạt động? –

+1

Tôi đã kiểm tra nó trên LG nexus5 –

Các vấn đề liên quan