2017-11-07 14 views
0

最近、Googleはキャスト受信機をバージョンV3にアップグレードしました。CAF Receiverの作成方法は?

以下のようにグーグルのデモページで簡単なデモがあります:

<html> 
<head> 
</head> 
<body> 
    <cast-media-player id="player"></cast-media-player> 
    <style> 
    #player { 
     --theme-hue: 210; 
     --splash-image: url("my.png"); 
    } 
    </style> 
    <script type="text/javascript" src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js"> 
    </script> 
    <script> 
    const context = cast.framework.CastReceiverContext.getInstance(); 
    const playerManager = context.getPlayerManager(); 

    // intercept the LOAD request to be able to read in a contentId and get data 
    playerManager.setMessageInterceptor(
     cast.framework.messages.MessageType.LOAD, loadRequestData => { 
      if (loadRequestData.media && loadRequestData.media.contentId) { 
       return thirdparty.getMediaById(loadRequestData.media.contentId) 
       .then(media => { 
        if (media) { 
        loadRequestData.media.contentUrl = media.url; 
        loadRequestData.media.contentType = media.contentType; 
        loadRequestData.media.metadata = media.metadata; 
        } 
        return loadRequestData; 
       }); 
      } 
      return loadRequestData; 
     }); 

    // listen to all Core Events 
    playerManager.addEventListener(cast.framework.events.category.CORE, 
     event => { 
      console.log(event); 
     }); 

    const MyCastQueue = class extends cast.framework.QueueBase { 
     initialize(loadRequestData) { 
      const media = loadRequestData.media; 
      const items = []; 
      items.push(myCreateItem(media)); // your custom function logic 

      const queueData = new cast.framework.messages.QueueData(); 
      queueData.items = items; 

      return queueData; 
     } 

     nextItems(itemId) { 
      return [myCreateNextItem()]; // your custom function logic 
     } 
    }; 

    const playbackConfig = new cast.framework.PlaybackConfig(); 

    // Sets the player to start playback as soon as there are five seconds of 
    // media contents buffered. Default is 10. 
    playbackConfig.autoResumeDuration = 5; 

    const myCastQueue = new MyCastQueue(); // create instance of queue Object 

    context.start({queue: myCastQueue, playbackConfig: playbackConfig}); 
    </script> 
</body> 
</html> 

はから: https://developers.google.com/cast/docs/caf_receiver_features#styling-the-player

しかし、私はそれをデバッグするとき、'thirdparty' is undefinedそのエラーがあります。

誰でもCAF受信機の作成方法を教えていただけますか?

+0

この[documentation](https://developers.google.com/cast/docs/debugging#game-ui)に基づいて、この種のエラーが発生した場合は、Google Castを更新するか再インストールする必要があります拡張。詳細については、この[基本的なCAFレシーバアプリケーションの作成](https://developers.google.com/cast/docs/caf_receiver_basic)のドキュメントに従ってください。 – abielita

+0

バグを報告してください:https://issuetracker.google.com/issues?q=componentid:190205%20status:open&s=modified_time:desc –

答えて

0

これはサンプルコードです。これらの余分な機能を自分で提供することになっています。

この例では、受信側ベースのキューイングを実行するために、キューイングシステムをオーバーライドする方法を示します。これは、非同期的にサーバーベースのキューを取得する例を提供していないので、IMHOの素晴らしい例ではありません。

受信者管理キューが不要な場合は、前のページに示す最小CAF受信者から開始できます。これは、リモートデバッガーを動作させるのに十分であり、これは少なくともカスタム受信機を持つ1つの理由です。

https://developers.google.com/cast/docs/caf_receiver_basic

私はより完全な例を作りました。 https://gist.github.com/jcable/45c65a72074763a9ec30ddb1ff217517

+0

ところで、ドキュメントには現在修正されているエラーがありました。 – Julian

+1

ありがとう、私はあなたのデモを試して、それは動作します。 Chromecast Receiver V3では、UIイベントを管理する必要はありません。 SDKがそれを処理します。それは素晴らしいことです! – oldmtn

+0

素晴らしい!それがうれしかったのでうれしいです。答えに投票してもらえますか? – Julian

関連する問題