javascript - 通过 SIP javascript 在通话中静音/取消静音麦克风
问题描述
我是 javascript 新手,我正在尝试通过 sip 拨打电话。
我想在我的应用程序中添加静音按钮,但我想让它静音我的麦克风。我的意思是,我不想让我的音频静音,所以我不会在这里。我想要完全相反的——对方听不到我的声音。
这是我的html代码:
<body onload="start()">
<audio id="remoteAudio"></audio>
<speaker></speaker>
<!-- mute -->
<button class="Rtable-cell numberBtn mute-btn" onclick="mute()">
<img src="//webrtc.phone.do/call/getMuteImg"/>
</button>
</body>
这是我的javascript代码:
function createSimple(callerURI, displayName, remoteVideoElement) {
var configuration = {
aor,
media: {
remote: {
audio: remoteVideoElement,
},
},
ua: {
traceSip: true,
uri: aor,
displayName: displayName,
userAgentString: 'SIP-0.20.0.js',
},
};
return new SIP.Web.SimpleUser('wss://webrtc01.phone.do:443', configuration);
}
function start() {
remoteVideoElement = document.getElementById('remoteAudio');
remoteVideoElement.volume = 0.2;
simple = createSimple(aor, fromName, remoteVideoElement);
simple.connect();
}
我试图这样做:
function setStream(stream) {
myStream = stream;
}
var myStream;
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia;
navigator.getUserMedia({ audio: true }, setStream, function () { alert('failed') });
function mute() {
myStream.getAudioTracks()[0].enabled = !(myStream.getAudioTracks()[0].enabled);
getAudioTracks().foreach(track=>{track.stop();})
}
和这个:
function mute() {
remoteVideoElement.muted=true;
}
但这一切都只使我的音频静音。正如我解释的那样,这不是我想要的。
有任何想法吗?
解决方案
您是否尝试过使用保持而不是静音?在 SIP 中有保持通话的选项。只是问问而已。如果您还没有尝试过。
推荐阅读
- ios - 如何创建不可重用的 UITableViewCell
- java - Jsoup getElementsByClass 返回空值
- r - R在docker容器中没有调用包
- python - 使用 pyvips 减小 PNG 文件大小:匹配 ImgBot 和 ImageMagick 优化
- vue.js - 使用 SCSS 和 Vue 3 避免 v-deep 重复
- svg - 删除 SVG mouseout 上的类
- android - 歌曲未使用 MediaPlayer 播放。错误:JNI: env->IsInstanceOf 失败并且 JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
- python - 在 CPU 中使用烧瓶加载预训练模型
- random - 我如何解决这个随机 discord.js 问题
- reactjs - 我怎么知道 save 方法在 mongo 中是否有效