2017-08-03 88 views
4

我正在使用Expressplay網站的接收器應用程序進行Chrome播放。 https://www.expressplay.com/developer/test-apps/#ccplayerChromecast接收器應用程序無法播放來自Android發件人應用程序的widevine drm保護內容

我已經從瀏覽器通過傳遞許可證URL的Widevine流路一起進行了測試。它播放的視頻,意味着接收器工作正常。

當我嘗試播放來自android發件人應用程序的內容時出現問題。我將許可證URL傳遞給json對象。

我的android發件人代碼如下。

private MediaInfo buildMediaInfo() { 
    MediaMetadata movieMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE); 
    movieMetadata.putString(MediaMetadata.KEY_SUBTITLE, "Subtitle"); 
    movieMetadata.putString(MediaMetadata.KEY_TITLE, "Title"); 
    jsonObj = new JSONObject(); 
    try{ 
     jsonObj.put("licenseUrl","https://wv.test.expressplay.com/hms/wv/rights/?ExpressPlatToken=****"); 
    }catch (JSONException e){ 
     Log.e(null,"Failed to add description to the json object", e); 
    } 
    return new MediaInfo.Builder("stream path.mpd") 
      .setStreamType(MediaInfo.STREAM_TYPE_BUFFERED) 
      .setContentType("video/mp4") 
      .setMetadata(movieMetadata) 
      .setCustomData(jsonObj) 
      //.setStreamDuration(player.getDuration()) 
      .build(); 
} 

我猜有recevier對從機器人在設置licenseUrl打的情況下代碼也許問題。

我的接收器代碼設置許可證URL如下。

if (event.data.customData && event.data.customData.licenseUrl) { 
        console.log('setting license URL'); 
        host.licenseUrl = event.data.customData.licenseUrl; 
       } 

event.data.customData.licenseUrl許可證網址沒有在Android的情況下得到設定。

  • 從android發送者播放的結果是黑屏。

  • 從瀏覽器發送播放時播放視頻。

  • CORS在託管視頻內容的S3服務器上啓用。

有人可以告訴我做錯了什麼嗎?

從android傳遞的JSON對象沒有設置許可證URL嗎?如果是,那麼如何解決它?

非常感謝您對我的問題的關注和值得的時間。 :)

回答

0

我想到在我的Receiver應用程序event.data.customData未定義,而從android發件人應用程序連接。

所以我用event.data.media.customData

而且訪問的重點如下:

if(event.data.media.customData['licenseUrl'] !== null){ 
        console.log('setting license URL from mobile'); 
        host.licenseUrl = event.data.media.customData.licenseUrl; 
       } 

這就是它! :)

1

如果您還沒有這樣做,檢查DRM support其中有人說,

爲了全面支持數字版權管理(DRM)保護的內容,你需要實現一個Custom Receiver。使用自定義接收器,您可以根據DRM要求設置認證並定製應用程序。

需要注意的是,您的接收器應用程序訪問API接收器具有以下參考:

//www.gstatic.com/cast/sdk/libs/receiver/2.0.0/cast_receiver.js 

此外,開發自定義的接收器應用,則需要registerGoogle Cast SDK Developer Console您的應用程序。

然後,針對Android應用發件人,檢查以下內容:

+0

謝謝你對我的問題的迴應先生。我已經完成了他們通過文件記錄完成的所有事情。我一直在閱讀並實施它們超過一週。我猜一切都設置好了,例如;依賴關係,sdk等 –

+0

我使用的接收器在請求來自瀏覽器發件人時工作正常。當我嘗試從android發件人播放時出現問題。 –

+0

你能否給我提供設置widevine內容的customData的代碼。或者任何其他方式來設置在android中的許可證網址和令牌? –

相關問題