una samsung p20 p10 oculto llamadas llamada lite grabar como celular aplicaciones java android

java - samsung - como grabar una llamada sin aplicaciones



Grabar llamadas telefónicas en el teléfono Android? (5)

  1. No puede grabar llamadas telefónicas muy bien en Android, porque el audio durante la llamada no está disponible para las aplicaciones SDK
  2. ACTION_ANSWER not es una Intent transmisión

Lo probé y uso el siguiente código para grabar llamadas salientes, pero no es así.

@Override public void onReceive(Context context, Intent intent) { this.context = context; if (intent.getAction().equalsIgnoreCase(Intent.ACTION_ANSWER)) { try { phonenbr = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); Log.v("GDHGDHGHDGDHGDHGHDGHDGH", phonenbr); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); recorder.setOutputFile(pathname); recorder.prepare(); recorder.start(); recordstarted = 1; telManager= (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE); } catch(Exception e) { e.printStackTrace(); } final PhoneStateListener phoneListener = new PhoneStateListener() { @Override public void onCallStateChanged(final int state, final String incomingNumber) { getTelephonyOverview(telManager); } }; telManager.listen(phoneListener, PhoneStateListener.LISTEN_CALL_STATE); }

}

public void getTelephonyOverview(final TelephonyManager telManager) { int callState = telManager.getCallState(); switch (callState) { case TelephonyManager.CALL_STATE_IDLE: { if (recordstarted==1) { recorder.stop(); recordstarted =0; } break; } } }

Por favor proporcione alguna buena solución para este problema ...


Este código me funciona para grabar llamadas telefónicas salientes , así que por favor verifíquelo Here


Esto se puede resolver con el nivel API 8+. Configure su fuente de audio para la grabadora de medios como enlace ascendente, enlace descendente o ambos.

recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL); //Voice downlink/ Uplink recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setAudioEncoder(AudioEncoder.AAC );

Pero ten cuidado con la ley y las regulaciones antes de hacer esto.


No puede grabar la llamada simplemente por el grabador de medios. También debe cambiar la configuración del administrador de audio y poner el altavoz antes de iniciar la grabación y la fuente de audio seguirá siendo la misma (micrófono). Intente editar la configuración del administrador de audio

AudioManager audiomanager = (AudioManager)context.getSystemService("audio"); int i = audiomanager.getRouting(2); audiomanager.setMode(2); audiomanager.setMicrophoneMute(false); audiomanager.setSpeakerphoneOn(true); int j = audiomanager.getStreamMaxVolume(0); if(j < 0) j = 1; int k = j / 2 + 1; audiomanager.setStreamVolume(0, k, 0); audiomanager.setRouting(2, 11, 15);


Parece que no puedes grabar una llamada desde la API. Una solución común es activar el altavoz y grabar desde el micrófono. En muchos dispositivos, el micrófono recogerá el altavoz adecuadamente con esta disposición.

Otra solución es hacer la grabación en un servicio de telefonía en algún lugar y enrutar las llamadas a través de él.