2012-10-22 8 views
6

が、私はこれらのリンクOpenTok - 手動でパブリッシュ/パブリッシュを解除するにはどうすればいいですか?

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

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

に見えたが、手動でpublishingunpublishingのための例は彼らのではない、それは、それぞれ 'streamCreated'/'streamDestroyed' イベントハンドラを使用せずに非公開/、出版です。

私はこれをしたい理由は、私は、ユーザーが自由にそれを行うことができるように/非公開を公開するボタンを持っているということです。

これを行う方法はありますか?

答えて

2

はい、非常に簡単です。方法についてはprepublishのソースコードをご覧ください。これを実現するstartPublishing()とstopPublishing()の2つの関数があります。

主に、彼らは非公開に公開する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'); 
} 
+2

私のコードがあまりにも.publish()と.unpublish()メソッドを使用しています。ここでは

は私がオフ動作するように使用しているコードです。問題は、公開していない状態で公開すると、何も表示されないということです。 – arvinsim

+2

私もあなたが与えたリンクでライブデモを試みました。公開をやめようとしてから再公開しました。うまくいきませんでした。 – arvinsim

+2

あなたがパブリッシュを解除したときに、それが置き換えられたdivを破壊するのを忘れないでください。それで、何かに再度アタッチできることを確認する必要があります。私も同様の問題がありました! –

関連する問題