将动画添加到 Chromecast 图像更改

Add animation to Chromecast images change

我的应用程序定期将图像投射到外部屏幕,并且在每张图像屏幕变黑 1-2 秒后。我相信 Chromecast 会在这段时间内加载下一张图片。

这次加载是否可以处理?比如加入图片消失的动画,看起来会更"smooth"。 或者另一种可能的解决方案是在加载新图片时保留以前的图片。

我怎样才能实现这种行为?

我正在使用默认媒体命名空间:urn:x-cast:com.google.cast.media 和默认应用程序 ID:CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID

我是这样投屏的:

 public void castImage(final String url) {
    Log.d(TAG, "casting Image");
    if (mApiClient != null && mApiClient.isConnected()) {

        MediaMetadata mediaMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_PHOTO);
        mediaMetadata.putString(MediaMetadata.KEY_TITLE, "Casting");
        MediaInfo mediaInfo = new MediaInfo.Builder(
                url)
                .setContentType("image/png")
                .setStreamType(MediaInfo.STREAM_TYPE_NONE)
                .setMetadata(mediaMetadata)
                .build();
        try {
                mRemoteMediaPlayer.load(mApiClient, mediaInfo, true)
                    .setResultCallback(new ResultCallback<RemoteMediaPlayer.MediaChannelResult>() {
                        @Override
                        public void onResult(RemoteMediaPlayer.MediaChannelResult result) {
                            if (result.getStatus().isSuccess()) {
                                Log.d(TAG, "Media loaded successfully");                
                            } 
                        }
                    });
        } catch (IllegalStateException e) {
            Log.e(TAG, "Problem occurred with media during loading", e);

        } catch (Exception e) {
            Log.e(TAG, "Problem opening media during loading", e);

        }
    } else {
        reconnect();
    }
}

如果需要更多代码,请告诉我。提前致谢。

你用的是什么接收机?如果您使用的是 Default 或 Styled 接收器,那么答案是否定的,因为它们不支持。您需要编写自定义接收器并使用几种不同的技术。例如,您应该开始向接收器发送 list/queue 个图像 URL,并让接收器在后台加载下一张图像时显示一个项目,这样您就不必 "wait"下一个在用户想要查看时加载。就 animations/transitions 而言,你不能做很多事情,但淡入淡出 in/out 似乎是该设备上最流畅的。通过自定义接收,您甚至可以在屏幕上放映幻灯片时播放背景音乐。