2017-09-15 10 views
2

私はtwilio APIを使用してemberjsアプリケーションでスクリーン共有を実装していますが、画面を共有して停止することに成功しました。ここに私のコードがある - >イベントを取得する方法emberjsのクロムブラウザの共有を停止するハンドラのボタン

this.get('detectRtc').isChromeExtensionAvailable(available => { 
    if (available) { 
     const { twilioParticipant } = this.get('participant') 

     if (this.get('stream') && this.get('stream').active) { 
     this.get('streamTrack').stop() 
     this.get('userMedia.mediaStream') 
     .removeTrack(this.get('streamTrack')) 
     this.set('isEnabled', false) 
     twilioParticipant.removeTrack(this.get('streamTrack')) 
     } else { 
     this.get('detectRtc').getSourceId(sourceId => { 
      // "cancel" button is clicked 
      if (sourceId !== 'PermissionDeniedError') { 
      // "share" button is clicked extension returns sourceId 
      this.get('userMedia') 
      .getScreen(sourceId) 
      .then(mediaStream => { 
       this.set('isEnabled', true) 
       this.set('stream', mediaStream) 
       this.set('streamTrack', mediaStream.getVideoTracks()[0]) 
       twilioParticipant.addTrack(mediaStream.getVideoTracks()[0]) 
      }) 
      .catch(() => { /* do nothing, but return something */ }) 
      } 
     }) 
     } 
    } else { 
     this.get('flash').status(
     'base', 
     this.get('intl').t('chromeExtension.install'), 
     { 
      icon: 'alert-circle', 
      push: true 
     } 
    ) 
     // TODO Show the system popup to install chrome extension from web store 
     // !!chrome.webstore && 
     // !!chrome.webstore.install && 
     // chrome.webstore.install(this.webStoreUrl) 
    } 
    }) 

私が直面してる問題は、私が聞くための方法が必要です enter image description here

下のスクリーンショットに見られるように、アプリの一番下にあるストップ共有ボタンでありますイベントハンドラに渡して、スクリーン共有ボタンをクリックした後にコードを実行すると、MediaStreamTrackドキュメントに記載されているonendedイベントハンドラがあることがわかりますが、どのように使用するのかわかりません。感謝。

https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack

答えて

1

"共有を停止" ボタンがMediaStreamTracks '終了' イベントをトリガします。試してみてください: mediaStream.getVideoTracks()[0].addEventListener('ended',() => console.log('screensharing has ended'))

関連する問題