在Agora.io中,"stream-added"事件是在有新的远程流被添加到通信频道时触发的。如果该事件没有被触发,可能有几个原因,下面是一些可能的解决方法。
// 初始化Agora SDK
var client = AgoraRTC.createClient({mode: 'live', codec: 'vp8'});
// 加入通信频道
client.join(appId, channel, token, uid, function(uid) {
console.log("用户 " + uid + " 加入频道成功");
}, function(err) {
console.error("加入频道失败: ", err);
});
// 监听"stream-added"事件
client.on("stream-added", function (evt) {
var stream = evt.stream;
console.log("新的远程流添加了:" + stream.getId());
// 订阅远程流
client.subscribe(stream, function (err) {
console.log("订阅远程流失败:" + err);
});
});
// 监听"stream-subscribed"事件
client.on("stream-subscribed", function (evt) {
var stream = evt.stream;
console.log("成功订阅远程流:" + stream.getId());
// 在页面上显示远程流
stream.play("remote-video");
});
// 启用视频流选项
client.enableVideo();
// 监听"stream-added"事件
client.on("stream-added", function (evt) {
// ...
});
// 启用音频流选项
client.enableAudio();
// 监听"stream-added"事件
client.on("stream-added", function (evt) {
// ...
});
通过上述解决方法,您应该能够解决"stream-added"事件从不被触发的问题,并成功订阅和显示远程流。