4

enter image description hereProblème lors de l'enregistrement d'appel et ne prenant pas en charge Android 7.0?

Edition est l'enregistrement d'appel fonctionne bien jusqu'à la version Android 6.0.1 mais il ne fonctionne pas correctement au-dessus de cette version Android.

Problème: - l'appel est activé pendant 1 minute mais l'enregistrement s'arrête en 2 à 3 secondes.

Ici EditText de Contact:

edt_attempt_contact.setOnTouchListener(new View.OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      final int DRAWABLE_RIGHT = 2; 

      if (event.getAction() == MotionEvent.ACTION_UP) { 
       if (event.getX() >= (edt_attempt_contact.getRight() - edt_attempt_contact.getCompoundDrawables()[DRAWABLE_RIGHT].getBounds().width())) { 
        if (!edt_attempt_contact.getText().toString().isEmpty()) { 

         Intent i = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + edt_attempt_contact.getText().toString())); 
         try { 
          startActivity(i); 
         }catch (SecurityException s){ 
          s.printStackTrace(); 
         } 

         try { 
          audioRecord(); 
         } catch (IOException e) { 
          e.printStackTrace(); 
         } 
        } else { 
         Toast.makeText(MainActivity.this, "Attempt Contact Number is required to call", Toast.LENGTH_SHORT).show(); 
        } 

        return true; 
       } 
      } 
      return false; 
     } 
    }); 
} 

Voici le code principal pour l'enregistrement d'appels.

private void audioRecord() throws IOException { 

    MediaRecorder recorder = new MediaRecorder(); 

    recorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
    recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); 
    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
    recorder.setOutputFile(root + "/" 
      .concat("_") 
      .concat(generateUniqueFileName()) 
      .concat(".amr")); 


    try { 
     recorder.prepare(); 
    } catch (IllegalStateException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    recorder.start(); 
} 

j'avais pris tous besoin d'autorisations pour l'enregistrement Android encore il ne fonctionne pas dans au-dessus de vous android 6.0.1 versions.Thank à l'avance pour les solutions ...

+0

Veuillez ajouter une description plus détaillée du problème que _ "ne fonctionne pas correctement" _. – Michael

+0

L'appel est activé pendant 1 minute mais l'enregistrement s'arrête immédiatement en quelques secondes et en 3 secondes dans les versions précédentes ... –

+0

est quelque chose à ajouter dans ce code pour la version ci-dessus 6.0.1 ?? @Michael –

Répondre

0

Utilisez-vous le code d'enregistrement d'appel en service ou activité?

L'arrêt de remplissage d'activité une fois l'enregistrement d'appel démarré, si votre code est en activité, l'enregistrement d'appel s'arrêtera.

+0

yaa L'enregistrement d'appel est en activité, alors pourquoi l'enregistrement fonctionne-t-il bien dans les versions lollypop? –