2015-07-20 27 views
2

我在我的android應用程序中使用CastCompanionLibrary作爲chromecast發件人支持。接收器應用程序是默認的Styled Media ReceiverChromecast EIA-608帶HLS的隱藏式字幕

我的流是HLS幷包含EIA-608隱藏式字幕軌道。從文檔看來,風格化的媒體接收器和CastCompanionLibrary都支持EIA-608隱藏式字幕,但似乎無法使其工作。

我在初始化時CastCompanionLibrary,建設軌道如下使VideoCastManager.FEATURE_CAPTIONS_PREFERENCE:

MediaTrack videoTrack = new MediaTrack.Builder(0, MediaTrack.TYPE_VIDEO) 
      .setContentType(PlayerActivity.HLS_MIME_TYPE) 
      .setContentId(playlistUrl) 
      .build(); 

    MediaTrack captionsTrack = new MediaTrack.Builder(1, MediaTrack.TYPE_TEXT) 
      .setContentType(MediaFormat.MIMETYPE_TEXT_CEA_608) 
      .setSubtype(MediaTrack.SUBTYPE_CAPTIONS) 
      .setLanguage(Locale.getDefault()) 
      .setContentId("eia608/1") 
      .setName("Closed Captions") 
      .build(); 

我的猜測是,我指定了不正確的內容識別,但似乎沒有任何東西在有關帶內曲目contentId的文檔中(可能不需要)?

我會很感激,如果有人是誰得到了這個工作可以附和;)

回答

2

CEA-608支持HLS(傳輸流)通過我們的Media Player媒體庫(MPL),但爲了使用,您需要編寫自定義接收器並在播放器上(在接收器側)撥打enableCaptions(true)。我建議您複製我們的reference receiver,然後在那裏進行更改;該參考接收機非常接近Styled Receiver。一旦您可以獲得字幕,那麼您可以添加自定義消息(CCL支持)來控制來自發件人的消息。

+0

感謝您的快速回復。很遺憾,我們必須經過這麼多的箍環才能調用一個單一的庫提供的方法。 –