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

时间:2018-04-09 15:14:22

标签: android google-cast

我将对G​​oogle 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();
}

1 个答案:

答案 0 :(得分:0)

对于所有Cast设备,Chrome浏览器是用户代理并控制HTTP请求标头。对于DRM内容,如果您使用CAF接收器,则可以使用各种选项来控制对内容的访问: https://developers.google.com/cast/docs/caf_receiver_features#drm