01/10/2018, 14:07
PeerConnection addStream không hiển thị được data từ camera phone lên web
Mình addStream theo đúng luồng nhưng không thấy được data từ camera phone lên web, mình đã check data gửi lên thì thấy đúng rồi. Bên IOS cũng luồng như vậy và chạy ngon.
Đây là code của mình. Mong mn giúp.
private void createPeerConnection() {
PeerConnectionFactory.initializeAndroidGlobals(this, true, true, true);
//tao lien ket giua nhieu connection voi nhau qua mediaserver
factory = new PeerConnectionFactory();
List<PeerConnection.IceServer> iceServers = new LinkedList<PeerConnection.IceServer>();
iceServers.add(new PeerConnection.IceServer("stun:stun.l.google.com:19302"));
//cho phep nhan hinh anh va am thanh
sdpMediaConstraints = new MediaConstraints();
sdpMediaConstraints.mandatory.add(new MediaConstraints.KeyValuePair("OfferToReceiveAudio", "true"));
sdpMediaConstraints.mandatory.add(new MediaConstraints.KeyValuePair("OfferToReceiveVideo", "true"));
pc = factory.createPeerConnection(iceServers, sdpMediaConstraints, peerConnectionObserver);
mbInited = true;
//lay am thanh va hinh anh tu thiet bi local
VideoSource videoSource = factory.createVideoSource(this.getVideoCapturer(), new MediaConstraints());
final MediaStream lMS = factory.createLocalMediaStream("ARDAMS");
final VideoTrack localVideoTrack = factory.createVideoTrack("ARDAMSv0", videoSource);
AudioSource audioSource =
factory.createAudioSource(sdpMediaConstraints);
AudioTrack localAudioTrack =
factory.createAudioTrack("ARDAMSa0", audioSource);
lMS.addTrack(localVideoTrack);
lMS.addTrack(localAudioTrack);
//hien thi hinh anh lay duoc len view
runOnUiThread(new Runnable() {
@Override
public void run() {
localVideoTrack.addRenderer(new VideoRenderer(local));
}
});
pc.addStream(lMS);
pc.createOffer(sdpObserver, sdpMediaConstraints);
}
Bài liên quan