【问题标题】:Chromecast - Chrome sender - How do you update media session on sender?Chromecast - Chrome 发件人 - 你如何更新发件人的媒体会话?
【发布时间】:2018-02-22 16:06:04
【问题描述】:

演员初始化后,发送者请求在运行的接收者上加载媒体

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

然后,receiver 使用 MediaManager 加载下一个媒体

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

我需要更新发送方的媒体会话。我如何做到这一点?

【问题讨论】:

    标签: google-cast


    【解决方案1】:

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

    在发件人上:

        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
    

    【讨论】:

      【解决方案2】:

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

      要停止,您可以使用文档中提供的此代码 sn-p:

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

      您也可以查看此相关SO post 以供参考。 希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 2017-06-27
        • 1970-01-01
        • 2014-04-09
        • 2015-12-31
        • 1970-01-01
        • 2014-03-01
        • 2018-12-14
        • 2013-12-19
        • 1970-01-01
        相关资源
        最近更新 更多