为 RemoteMediaClient 和 Google Cast(TM) 的 MediaMetaData 设置用户代理



我在我的应用程序中集成了对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

最新更新