2016-01-13 7 views
6

Pojawia się problem z nagrywaniem połączenia głosowego w Androidzie Lollipop i wyższej wersji. Dzięki temu kodowi mogę nagrać swój głos, ale nie mogę nagrać głosu innej osoby.Nagrywanie rozmów głosowych w systemie Android Lollipop i wyższa wersja nie działa

public void startRecording() { 
    if (recording == false) { 


     Log.e("here", "--------Recorder_Sarted------" + fname); 
     SimpleDateFormat sdf = new SimpleDateFormat("ddMMyyyy"); 
     int randomPIN = (int) (Math.random() * 9000) + 1000; 
     recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION); 
     recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
     recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
     String file = Environment.getExternalStorageDirectory().toString(); 
     String filepath = file + "/Aeris/Recording"; 
     File dir = new File(filepath); 
     dir.mkdirs(); 
     Log.e("here ", "----------------" + sdf.format(Calendar.getInstance().getTime()) + " " + fname + " " + type); 
     filepath += "/" + type + "-" + fname + "-" + sdf.format(Calendar.getInstance().getTime()) + "-" + randomPIN + ".3gp"; 
     recorder.setOutputFile(filepath); 

     try { 
      recorder.prepare(); 
     } catch (IllegalStateException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     recorder.start(); 
     recording = true; 
    } 
} 

Ten kod działa poprawnie poniżej wersji z Androidem Lollipop. proszę mi pomóc rozwiązać ten problem

Odpowiedz

0

Chane AudioSource VOICE_COMMUNICATION do MIC (mikrofon)

recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION); 

Testowany w Moto g2 (Android 6.0), Lenovo (Android 5.0), jego pracy grzywny.

Powiązane problemy