我在我的应用程序中集成了对Google Cast(TM(的支持。我的应用有自己的用户代理。我在服务器端阻止其他用户代理。我发现,当通过Google Cast(TM(客户端在Android TV上播放媒体时,使用用户代理作为浏览器。是否可以为 RemoteMediaClient 和 MediaMetaData 设置用户代理?
private void loadRemoteMedia(boolean autoPlay) {
if (mCastSession == null) {
return;
}
RemoteMediaClient remoteMediaClient = mCastSession.getRemoteMediaClient();
if (remoteMediaClient == null) {
return;
}
remoteMediaClient.load(buildMediaInfo(), autoPlay);
}
private MediaInfo buildMediaInfo() {
MediaMetadata mediaMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_TV_SHOW);
mediaMetadata.putString(MediaMetadata.KEY_TITLE, "title");
return new MediaInfo.Builder(selectedStreamingURL)
.setContentType("application/x-mpegurl")
.setStreamType(MediaInfo.STREAM_TYPE_LIVE)
.setMetadata(mediaMetadata)
.build();
}
对于所有 Cast 设备,Chrome 浏览器都是用户代理,用于控制 HTTP 请求标头。对于 DRM 内容,如果您使用 CAF 接收器,您可以通过多种选项来控制对内容的访问:https://developers.google.com/cast/docs/caf_receiver_features#drm