Estoy intentando implementar la aplicación VoIP usando las clases AudioGroup y AudioStream del paquete android.net.rtp. Pero mi aplicación no funciona correctamente. Después de "Unir" el objeto de la clase "AudioGroup" con el objeto "AudioStream", envía paquetes udp con éxito. Lo revisé usando el analizador de paquetes. Pero la voz no se escucha desde el teléfono. Ejecuto mi aplicación en 2 teléfonos y trato de comunicar la voz entre ellos.Cómo implementar la aplicación VOIP usando el paquete android.net.rtp
A continuación menciono mi código fuente.
public class MainActivity extends Activity {
private AudioStream audioStream;
private AudioGroup audioGroup;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
audioGroup = new AudioGroup();
audioGroup.setMode(AudioGroup.MODE_NORMAL);
audioStream = new AudioStream(InetAddress.getByAddress(new byte[] {(byte)192, (byte)168, (byte)1, (byte)4 }));
audioStream.setCodec(AudioCodec.PCMU);
audioStream.setMode(RtpStream.MODE_NORMAL);
audioStream.associate(InetAddress.getByAddress(new byte[] {(byte)192, (byte)168, (byte)1, (byte)2 }), 5004);
audioStream.join(audioGroup);
AudioManager Audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
Audio.setMode(AudioManager.MODE_IN_COMMUNICATION);
}
catch (SocketException e) { e.printStackTrace();}
catch (UnknownHostException e) { e.printStackTrace();}
catch (Exception ex) { ex.printStackTrace();}
}
I establece esta permisos en el manifest.
<uses-permission android:name="android.permission.USE_SIP" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-feature android:name="android.hardware.sip.voip" android:required="true" />
<uses-feature android:name="android.hardware.wifi" android:required="true" />
<uses-feature android:name="android.hardware.microphone" android:required="true" />
estoy usando el teléfono Samsung Galaxy S3 con Android 4.0 OS
¿Cómo se soluciona esto? Tengo exactamente la misma pregunta –