用于web session.queueLoad的Chromecast sdk不是一个功能

时间:2017-07-24 17:29:34

标签: javascript chromecast

Chromecast sdk

我无法调用session.queueLoad(...),但如果我使用session.c.queueLoad(...),它偶尔会有效。 我也可以致电session.loadMedia(...)。 这是我从我网站上删除的代码示例。

var session = cast.framework.CastContext.getInstance().getCurrentSession();
      if(session)
      {
        var queueingItems = [..blahblah]
        console.log(queueingItems) //works
        queueingItems=queueingItems.map(m=>{
          var mediaInfo = new chrome.cast.media.MediaInfo(m.source, m.contentType)
          mediaInfo.metadata = new chrome.cast.media.GenericMediaMetadata();
          mediaInfo.metadata.title = m.description;
          var q = new chrome.cast.media.QueueItem(mediaInfo)
          q.autoplay=true
          return q
        })
        
        var qloadRequest=new chrome.cast.media.QueueLoadRequest(queueingItems)
        console.log(qloadRequest)

        //works
        session.c.queueLoad(qloadRequest,function(){
          console.log("loaded success")
        },()=>{})    
        
        //doesn't work
        session.queueLoad(qloadRequest,function(){
          console.log("loaded success")
        },()=>{})   
        
        //works
        session.loadMedia(qloadRequest[0],function(){
          console.log("loaded success")
        },()=>{})  
      }

1 个答案:

答案 0 :(得分:3)

.getCurrentSession()会返回CastSession个对象。那不是queueLoad方法。我想您要使用CastSession's getSessionObj方法,因为它会返回Session方法,该对象具有queueLoad方法。