我正在使用Expressplay网站的接收器应用程序进行Chrome播放。 https://www.expressplay.com/developer/test-apps/#ccplayer。Chromecast接收器应用程序无法播放来自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吗?如果是,那么如何解决它?
非常感谢您对我的问题的关注和值得的时间。 :)
谢谢你对我的问题的回应先生。我已经完成了他们通过文件记录完成的所有事情。我一直在阅读并实施它们超过一周。我猜一切都设置好了,例如;依赖关系,sdk等 –
我使用的接收器在请求来自浏览器发件人时工作正常。当我尝试从android发件人播放时出现问题。 –
你能否给我提供设置widevine内容的customData的代码。或者任何其他方式来设置在android中的许可证网址和令牌? –