将动画添加到 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 似乎是该设备上最流畅的。通过自定义接收,您甚至可以在屏幕上放映幻灯片时播放背景音乐。
我的应用程序定期将图像投射到外部屏幕,并且在每张图像屏幕变黑 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 似乎是该设备上最流畅的。通过自定义接收,您甚至可以在屏幕上放映幻灯片时播放背景音乐。