2012-10-22 19 views
6

Ben bu bağlantılarınOpenTok - El ile nasıl yayınlanır/yayından kaldırılır?

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

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

baktı ama elle publishingunpublishing için herhangi örnekler onların olan, yani yayıncılık/sırasıyla 'streamCreated'/'streamDestroyed' olay işleyicisi kullanmadan Yayından.

Bunu yapmak istememin nedeni, kullanıcının istediği zaman yapabilmesi için yayınlamak/yayından kaldırmak için bir düğmem olmasıdır.

Bunu yapmanın bir yolu var mı?

cevap

2

Evet ve çok basit. Nasıl yapıldığını görmek için prepublish kaynak koduna bakın. Bunu başaran 2 işlev vardır, startPublishing() ve stopPublishing().

Öncelikle yayınlamak için session.publish(publisher); ve yayından kaldırmak için session.unpublish(publisher); kullanın.

// 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

Kodum çok .publish() ve .unpublish() yöntemlerini kullanır: Burada

Ben kapalı çalışmak için kullandık koddur. Sorun şu ki, yayından kaldırıldıktan sonra yayınladığımda hiçbir şey göstermiyor. – arvinsim

+2

Ayrıca canlı demoyu verdiğiniz bağlantıda denedim. Yayından kaldırılıp yeniden yayınlanmaya çalışıldı. Çalışmadı. – arvinsim

+2

Unutmayı bıraktığınız zaman, değiştirdiğiniz div'u yok eder, bu yüzden kendini tekrar bir şeylere ekleyebildiğinden emin olmanız gerekir. Benzer bir sorunum vardı! –