我有以下javascript代码...当客户点击呼叫按钮时,信号被发送到另一个客户端,并且在其他客户端播放声音,直到他接受呼叫。单击“呼叫”按钮后,该按钮将变为“结束呼叫”:
function beginCall(obj) {
console.log(obj.value);
obj.setAttribute("onclick", "endCall(this,'" + obj.value + "')");
obj.value = 'End Call';
_stream = _streams[obj.id.replace("btn_", "")];
var streamNames = _stream.name.toString();
session.signal({
type: "begincall",
to: _stream.connection,
data: { streamId: _selfstream.streamId + "|" + _selfstream.name }
}, function (error) {
if (error) {
console.log("signal error: " + error.reason);
} else {
console.log("signal sent: begincall:");
}
});
}
function signalEventHandler(event) {
if (event.type == "signal:begincall") {
//sound alert
var audio = new Audio('inc/sound.mp3');
audio.loop = true;
audio.play();
}
}
问题是,在点击通话按钮后,如果同一客户端在另一个人接受呼叫之前反复点击结束通话按钮,则多个音频将作为循环播放。
我需要根据
进行一次音频播放if (event.type == "signal:begincall") {
这怎么可能?