【问题标题】:OpenTok - How to publish/unpublish manually?OpenTok - 如何手动发布/取消发布?
【发布时间】:2012-10-22 09:07:53
【问题描述】:

我查看了这些链接

http://www.tokbox.com/opentok/api/tools/js/documentation/overview/publish.html

http://www.tokbox.com/opentok/api/tools/js/tutorials/overview

但它们不是手动发布/取消发布的示例,即分别不使用 'streamCreated'/'streamDestroyed' 事件处理程序的发布/取消发布。

我想这样做的原因是我有一个发布/取消发布的按钮,以便用户可以随意进行。

有没有办法做到这一点?

【问题讨论】:

    标签: api videochat video-conferencing tokbox


    【解决方案1】:

    是的,而且非常简单。查看prepublish 源代码以了解如何操作。有 2 个函数 startPublishing() 和 stopPublishing() 可以实现这一点。

    他们主要使用 session.publish(publisher); 发布,session.unpublish(publisher); 取消发布。

    这是我以前工作过的代码:

    // Called by a button to start publishing to the session
    function startPublishing() {
        if (!publisher) {
            var parentDiv = document.getElementById("myCamera");
            var publisherDiv = document.createElement('div'); // Create a div for the publisher to replace
            publisherDiv.setAttribute('id', 'opentok_publisher');
            parentDiv.appendChild(publisherDiv);
            var publisherProps = {
                width : VIDEO_WIDTH,
                height : VIDEO_HEIGHT
            };
            publisher = TB.initPublisher(apiKey, publisherDiv.id, publisherProps); // Pass the replacement div id and properties
            session.publish(publisher);
            show('unpublishLink');
            hide('publishLink');
        }
    }
    
    //Called by a button to stop publishing to the session
    function stopPublishing() {
        if (publisher) {
            session.unpublish(publisher);
        }
        publisher = null;
    
        show('publishLink');
        hide('unpublishLink');
    }
    

    【讨论】:

    • 我的代码也使用了 .publish() 和 .unpublish() 方法。问题是当我在取消发布后发布时,它什么也不显示。
    • 我还尝试了您提供的链接上的现场演示。尝试取消发布,然后重新发布。没用。
    • 不要忘记,当你取消发布它会破坏它所替换的 div,所以你需要确保它可以再次附加到某个东西上。我遇到了类似的问题!
    • 另外我没有意识到教程还没有这样做,所以在 Q 上 +1。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多