投射图像显示Notification,MiniControllerFragment和ExpandedControllerActivity中的媒体控件

问题描述 投票:0回答:1

我的应用程序有视频,音频和照片。我成功地投了他们三个。但是,当我投射图像时,minicontrollerfragment,Notification和ExpandedControllerActivity显示视频控件。当我点击播放/暂停按钮时,它会继续旋转以获取照片。

有没有办法我可以禁用它的图像?我到处查了一下,但由于某种原因,我无法找到一个Photo的例子。

任何帮助,将不胜感激。谢谢。

这是CastOptionsProvider的代码。

 @Override
public CastOptions getCastOptions(Context context) {

    NotificationOptions notificationOptions = new NotificationOptions.Builder()
            .setTargetActivityClassName(ExpandedControlsActivity.class.getName())
            .setActions(Arrays.asList(MediaIntentReceiver.ACTION_REWIND,MediaIntentReceiver.ACTION_TOGGLE_PLAYBACK, MediaIntentReceiver.ACTION_FORWARD, MediaIntentReceiver.ACTION_STOP_CASTING), new int[]{1,2,3})
            .build();
    CastMediaOptions mediaOptions = new CastMediaOptions.Builder()
            .setNotificationOptions(notificationOptions)
            .setExpandedControllerActivityClassName(ExpandedControlsActivity.class.getName())
            .build();

    CastOptions castOptions = new CastOptions.Builder()
            .setReceiverApplicationId(CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID)
            .setCastMediaOptions(mediaOptions)
            .build();
    return castOptions;
}

这是我投射图像的方式:

MediaMetadata photoMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_PHOTO);
photoMetadata.putString(MediaMetadata.KEY_TITLE, "Casting to " + mCastSession.getCastDevice().getFriendlyName());
photoMetadata.addImage(new WebImage(Uri.parse(photoItem.getImageUrl())));

MediaInfo mediaInfo = new MediaInfo.Builder(photoItem.getImageUrl())
        .setContentType("image/jpeg")
        .setMetadata(photoMetadata)
        .setStreamDuration(0)
        .setStreamType(MediaInfo.STREAM_TYPE_NONE)
        .build();
MediaLoadOptions mediaLoadOptions = new MediaLoadOptions.Builder()
        .setAutoplay(true)
        .setPlayPosition(0)
        .build();

RemoteMediaClient remoteMediaClient = mCastSession.getRemoteMediaClient();
remoteMediaClient.load(mediaInfo, mediaLoadOptions);
android google-cast google-cast-sdk
1个回答
0
投票

您可以使用Default Media Receiver(CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID)尝试作为默认接收器,否则您需要创建自己的接收器。

在CastOptionProvider中,创建如下的CastOptions

new CastOptions.Builder()
            .setReceiverApplicationId(CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID)
            .setCastMediaOptions(mediaOptions)
            .build();
© www.soinside.com 2019 - 2024. All rights reserved.