在agora视频通话期间一对一用户无法看到对方

时间:2019-03-29 04:52:29

标签: agora.io

我已经使用agora CDN在我的angular 5应用程序中实现了agora代码。相机正在打开,但一对一用户看不到彼此的视频帧。 为什么?

var self = this; var client = AgoraRTC.createClient({mode:'rtc',codec:“ h264”});

client.init('my key',function(){

console.log("AgoraRTC client initialized");
client.join(null, 'TestChanel', null, function (uid) {

    console.log("User " + uid + " join channel successfully");
    self.uId = uid;

    var localStream = AgoraRTC.createStream({
        // streamID: uid,
        // audio: true,
        //  video: true,
        //  screen: false,

        streamID: uid,
        audio: true,
        cameraId: self.deviceId,
        // microphoneId: self.microphone,
        video: true,
        screen: false,
        extensionId: 'minllpmhdgpndnkomcoccfekfegnlikg',
    }
    );

    localStream.init(function () {

        console.log("getUserMedia successfully");
        localStream.play('agora_local');
       // localStream.play('video-caller');

        client.publish(localStream, function (err) {

            console.log("Publish local stream error: " + err);
        });

        client.on('stream-published', function (evt) {

            console.log("Publish local stream successfully");
        });


        client.on('stream-added', function (evt) {

            var stream = evt.stream;
            console.log("New stream added: " + stream.getId());

            client.subscribe(stream, function (err) {
                console.log("Subscribe stream failed", err);
            });
        });
        client.on('stream-subscribed', function (evt) {

            var remoteStream = evt.stream;
            console.log("Subscribe remote stream successfully: " + remoteStream.getId());
            remoteStream.play('agora_remote' + remoteStream.getId());
        })






    }, function (err) {

        console.log("getUserMedia failed", err);
    });

}, function (err) {

    console.log("Join channel failed", err);
});

},函数(err){

console.log("AgoraRTC client init failed", err);

});

1 个答案:

答案 0 :(得分:1)

有些事情可能会帮助您解决此问题:

  1. 利用Typescript输入来帮助进行调试。您可以使用命令npm install --save-dev @types/agora-rtc-sdk为SDK安装基本的类型库,以提供更多的调试功能。
  2. 设置timeout或使用rxjs的{​​{3}},然后再尝试play远程流,这有时有助于确保流被播放。
  3. 测试未在cameraId方法中分配createStream(),或者未使用this而不是self-Angular可能因此而出现问题。

还要确保在以后的测试中,timer中使用的uid对于两个用户而言都是相同的类型。在一个客户端传递number而另一个客户端传递string之前,我曾遇到过这个问题。

如果您正在使用Chrome浏览器在两个用户之间进行测试,则可能不是浏览器问题,但是根据SDK版本的不同,您应该研究一些join()