我创建了一个聊天,但使用 webView。问题是聊天包含 iOS 不支持的视频和语音,因为它不支持 webRTC。
主要问题是如何在 Swift 中的 webView 中轻松添加 RTC 以支持 iOS 视频和语音?
我从这里读到如何在webrtc中为本地流静音/取消静音麦克风:WebRTC提示与技巧
当我启动我的本地流麦克风时默认启用,所以当我设置audioTracks [0] .enabled = false时它会在我的本地流中静音麦克风,但当我将其设置为真时它会启用取消静音.以下是我对本地流的代码静音/取消静音:
getLocalStream(function (stream,enable) {
if (stream) {
for (var i = 0; i < stream.getTracks().length; i++) {
var track = stream.getAudioTracks()[0];
if (track)
track.enabled = enable;
//track.stop();
}
}
});
Run Code Online (Sandbox Code Playgroud)
有人可以建议我如何在本地流中取消麦克风.
有没有办法默认禁用WebRTC"自动增益控制功能",通过应用一些JavaScript代码到应用程序文件?
我正在使用simplewebrtc.
我已经能够使用 RTCPeerConnection.getStats() API 获取 WebRTC 音频呼叫的各种统计信息(抖动、RTT、数据包丢失等)。
我需要将整体通话质量评定为优秀、良好、一般或较差。
是否有使用 WebRTC 统计数据给出总体评分的公式?如果不是,我应该给予更多权重的 WebRTC 统计数据中的哪一个?
使用 API navigator.mediaDevices.enumerateDevices() 我得到了计算机中可用设备的 ID,但我不知道如何告诉导航器我想切换相机或麦克风。在论坛中有很多例子,但没有一个是清楚的,因为 webRTC 多次更改了 API 及其参考。网络上只有一个示例,由 webRTC 提出,但我无法真正理解它,或者至少我无法在其代码中找到我需要的内容。
我没有尝试太多,因为我对 webRTC 很陌生......
if(!navigator.mediaDevices || !navigator.mediaDevices.enumerateDevices) console.log('Enumerate Media Devices from getUserMedia is not supported');
navigator.mediaDevices.enumerateDevices()
.then(function(devices) {
devices.forEach(function(device) {
if (device.kind == 'audioinput' || device.kind == 'audiooutput') $scope.devicesAudio.push(device);
else if (device.kind == 'videoinput' || device.kind == 'videooutput') $scope.devicesVideo.push(device);
else $scope.devices.push(device);
});
})
.catch(function(err) {
console.log(err.name + ':' + err.message);
});
$scope.selectDevice = function(device) {
if(device.kind == 'videooutput' || device.kind == 'videoinput') {
console.log('video Device selected' + ' DEVICE_ID: ' …Run Code Online (Sandbox Code Playgroud) 我正在努力学习WebRTC.我复制了一些代码,我收到此错误:
无法在'RTCDataChannel'上执行'send':RTCDataChannel.readyState不是'open'
任何人都可以帮忙吗?
代码分数:http://www.tutorialspoint.com/webrtc/webrtc_text_demo.htm
我正在学习有关学习WebRTC的书,并创建了一个演示4章。我在控制台中出现错误:
ReferenceError: webkitRTCPeerConnection is not defined
Run Code Online (Sandbox Code Playgroud)
并且不明白我可以配置“ iceServers”:
这是我的JavaScript代码
function hasUserMedia(){
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
return !!navigator.getUserMedia;
}
function hasRTCPeerConnection() {
window.RTCPeerConnection = window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection;
return !!window.RTCPeerConnection;
}
//This function will create our RTCPeerConnection objects, set up the SDP offer and response, and find the ICE candidates for both peers. page 48
function startPeerConnection(stream) {
var configuration = {
// Uncomment this code to add custom iceServers
"iceServers": [{ "url": "stun:stun.1.google.com:19302" }] …Run Code Online (Sandbox Code Playgroud) WebRTC 调用在我们的应用程序中不可靠。有时我们会看到黑屏,有时我们根本看不到通话开始,有时会看到音频/视频中的巨大延迟或不同步。
设置:
stun:stun.l.google.com:19302;Coturn托管在 docker 中的 azure 中;simplewebrtc作为客户端;几乎100% 重现的问题是从 LTE 上的一个客户端调用 Wi-Fi 上的另一个客户端。在这种情况下,我们在两个设备上都看到黑屏,但是,默认的 bg-color 是白色,所以至少在 WebRTC 端发生了一些事情。
为解决问题做了哪些工作:
请提出任何可能的研究或修复方法,以使 WebRTC 尽可能可靠。
我是 webRTC 新手,我编写了一个视频聊天代码,它已成功执行,我不想使用scaledrone。我想使用纯JavasCript。我该怎么做请帮助我
html 和 CSS
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<style>
body {
display: flex;
height: 100vh;
margin: 0;
align-items: center;
justify-content: center;
padding: 0 50px;
font-family: -apple-system, BlinkMacSystemFont, sans-serif;
}
video {
max-width: calc(50% - 100px);
margin: 0 50px;
box-sizing: border-box;
border-radius: 2px;
padding: 0;
box-shadow: rgba(156, 172, 172, 0.2) 0px 2px 2px, rgba(156, 172, 172, 0.2) 0px 4px 4px, rgba(156, 172, 172, 0.2) 0px 8px 8px, rgba(156, 172, 172, 0.2) 0px 16px 16px, rgba(156, 172, …Run Code Online (Sandbox Code Playgroud) 我们有一个基于WebRTC的解决方案,并对ios 11 Safari上的WebRTC支持感到兴奋.但是,我们在ios 11.0.3上使用iPhone 6测试的每个WebRTC解决方案都遇到了同样的问题:
一段时间后,远程视频冻结,整个手机崩溃,需要强制重置.互联网上似乎没有任何关于此类问题的讨论.有人经历过同样的事情,你找到了解决方案吗?
我们已经使用ios 11.0.2,ios 11.0.3,iPhone 6 iPhone 6+和以下解决方案复制了这个问题:
simplewebrtc ×10
webrtc ×10
javascript ×3
ios ×2
cordova ×1
coturn ×1
getusermedia ×1
html ×1
html5-audio ×1
html5-video ×1
opentok ×1
openwebrtc ×1
safari ×1
signalmaster ×1
swift ×1
web ×1
webview ×1