Tôi đang cố gắng triển khai ứng dụng VoIP bằng cách sử dụng các lớp AudioGroup và AudioStream của gói android.net.rtp. Nhưng ứng dụng của tôi không hoạt động đúng. Sau khi "Tham gia" đối tượng lớp "AudioGroup" với đối tượng "AudioStream", các gói udp gửi thành công. Tôi đã kiểm tra bằng cách sử dụng bộ phân tích gói. Nhưng giọng nói không được nghe từ điện thoại. Tôi chạy ứng dụng của mình trong 2 điện thoại và thử liên lạc thoại giữa chúng.Cách triển khai ứng dụng VOIP bằng gói android.net.rtp
Ở bên dưới, tôi đề cập đến mã nguồn của mình.
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();}
}
Tôi đặt quyền này trong Tệp kê khai.
<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" />
Tôi đang sử dụng điện thoại Samsung GALAXY S3 với Android 4.0 OS
Làm sao bạn giải quyết này? Tôi có chính xác cùng một câu hỏi –