首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Temasys如何修改现有代码

Temasys如何修改现有代码
EN

Stack Overflow用户
提问于 2016-01-07 15:49:15
回答 1查看 70关注 0票数 0

我已经准备好了这段代码,最终将约束传递给getUserMedia。

代码语言:javascript
复制
function captureUserMedia(callback) {
$('#videoSource').css('display', 'none');
var videoSource = videoSelect.value;
var constraints = null;

constraints = {
    video: {

        optional: [{
            sourceId: videoSource
        }]
    },
    audio: false
}


var htmlElement = document.getElementById('rtcvideo');
htmlElement.setAttribute('autoplay', true);
htmlElement.setAttribute('controls', true);

var mediaConfig = {
    video: htmlElement,
    onsuccess: function(stream) {
        config.attachStream = stream;
        callback && callback();
        htmlElement.setAttribute('muted', true);
        rotateInCircle(htmlElement);
    },


    onerror: function() {
        alert('unable to get access to your webcam');
    }
};
if (constraints) mediaConfig.constraints = constraints;
getUserMedia(mediaConfig);
streamAttached = true;
}

I.ve尝试了很多方法让它正常工作,而困难可能在于我发现很难让我的头脑恢复过来。我怎样才能修改这段代码,这样它才能工作?我尝试过在getUsermedia之前使用导航器,但是它需要3个参数,其中两个是成功和错误回调。我可以在mediaconfig var中看到onerror和onsucces。谁能看看它吗?

更新

我刚刚看到getUserMedia是在一个附加的RTCPeerConnection-v1.5.js文件中定义的函数:

代码语言:javascript
复制
function getUserMedia(options) {
var n = navigator,
    media;
n.getMedia = n.webkitGetUserMedia || n.mozGetUserMedia;
n.getMedia(options.constraints || {
        audio: true,
        video: video_constraints
    }, streaming, options.onerror || function(e) {
        console.error(e);
    });

function streaming(stream) {
    var video = options.video;
    if (video) {
        video[moz ? 'mozSrcObject' : 'src'] = moz ? stream : window.URL.createObjectURL(stream);
        video.play();
    }
    options.onsuccess && options.onsuccess(stream);
    media = stream;
}

return media;
}
EN

回答 1

Stack Overflow用户

发布于 2016-01-08 02:52:48

我想你应该有更多的代码。(videoSelect.value不适用于未定义的videoSelect )

如果您检查规格,约束和回调是三个单独的参数。看起来应该是:

代码语言:javascript
复制
getUserMedia(mediaConfig.constraints, mediaConfig.onsuccess, mediaConfig.onerror);

我希望这能帮上忙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34659427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档