2017-09-13 68 views
0

投初始化后,发送方发出请求到,接收器的负载下一个媒体使用媒体管理Chromecast - Chrome发件人 - 如何更新发件人的媒体会话?

var mediaManager = new cast.receiver.MediaManager(mediaElement); 
    ... 
    mediaManager.load(loadRequestData); // "Loads a media session on the receiver without involvement of a sender" 

我需要更新发送端的媒体会话上运行的接收器

var session = window.cast.framework.CastContext.getInstance().getCurrentSession(); 
... 
session.loadMedia(loadRequest); 

然后加载媒体。我如何实现这一目标?

回答

0

在接收者以下面的方式加载下一个媒体后,我能够更新发送者上的媒体会话。例如,在情节内容中,从一个情节切换到另一个情节。

发件人:

var session = window.cast.framework.CastContext.getInstance().getCurrentSession(); 
    ... 
    session.loadMedia(loadRequest).then(function() { 
     ... 
     // this is a media session of the first episodic content 
     mediaSession = session.getMediaSession(); // returns instance of chrome.cast.media.Media 
     mediaSession.addUpdateListener(function(isAlive) { 
      // invoked when the status of the media has changed 
      // [update next media session here] 
     }); 
     ... 
    }, function() { 
     //errorHandler 
    }); 

接收器上

var mediaManager = new cast.receiver.MediaManager(video); 
... 
// the first episode is loaded from sender to receiver 
... 
// after the first episode is complete, loads second episode 
mediaManager.load(loadRequestData); // loadRequestData contains media request data and its metadata 

发件人:

添加下面的地方说,上述[这里更新下一个媒体会议]

var nextMediaSession = session.getSessionObj().media; //returns instance of chrome.cast.media.Media which is the updated media session of the second episode 
0

当另一个媒体启动时,您可以使用session.stopaddUpdateListener结束当前媒体。

要停止,您可以使用在文档中提供了这个代码片段:

function stopApp() { 
    session.stop(onSuccess, onError); 
} 

您还可以检查此相关SO post以供参考。 希望这有助于。

相关问题