gpt4 book ai didi

android - 将图像(照片)转换到 Chromecast

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:38:16 25 4
gpt4 key购买 nike

我正在按照这些(12)指南为 Chromecast 创建发送器 Android 应用程序,我只对发送图片感兴趣。有很多信息和samples如何转换文本音频视频。但是没有一个字如何用图片

我相信 stackoferflow 的强大功能,应该有人遇到过这样的问题。请提供一些好的示例或教程。我所需要的只是使用 Media Router 及其功能转换全屏图片的指南。

这就是我使用自定义 channel 发送短信的方式:

 /**
* Send a text message to the receiver
*/
private void sendMessage(String message) {
if (mApiClient != null && mSmartBusChannel != null) {
try {
Cast.CastApi.sendMessage(mApiClient,
mSmartBusChannel.getNamespace(), message)
.setResultCallback(new ResultCallback<Status>() {
@Override
public void onResult(Status result) {
if (!result.isSuccess()) {
Log.e(TAG, "Sending message failed");
}
}
});
} catch (Exception e) {
Log.e(TAG, "Exception while sending message", e);
}
} else {
Toast.makeText(this, message, Toast.LENGTH_SHORT)
.show();
}
}

视频正在使用 RemotePlaybackClient 发送。好的,图片呢?

非常感谢您的帮助。


编辑:

我找到了方法 (on this blog)如何从本地存储发送图片。是的,这似乎并没有真正起作用。

public final void openPhotoOnChromecast(String title, String url, String ownerName, String description) {
try {
Log.d(TAG, "openPhotoOnChromecast: " + url);
JSONObject payload = new JSONObject();
payload.put(KEY_COMMAND, "viewphoto");
payload.put("fullsizeUrl", url);
payload.put("ownerName", ownerName);
payload.put("title", title);
payload.put("description", description);

sendMessage(payload);
} catch (JSONException e) {
Log.e(TAG, "Cannot parse or serialize data for openPhotoOnChromecast", e);
} catch (IOException e) {
Log.e(TAG, "Unable to send openPhotoOnChromecast message", e);
} catch (IllegalStateException e) {
Log.e(TAG, "Message Stream is not attached", e);
}
}

附言此方法使用来自这些库(来自 gradle)的 sendMessage(...):

compile files('libs/commons-io-2.4.jar')
compile files('libs/GoogleCastSdkAndroid.jar')

最佳答案

看这里:Examples using CastCompanionLibrary to simply display an image将图像发送到 Chromecast 实际上有三个选项。

  1. 您可以将图像编码为 base64 字符串并通过数据通道到接收器。如果太大,可以拆分并通过多条消息发送。这是一个非常糟糕的用途 Actor 技术,真的你不应该这样做,但它是可能。
  2. 您可以简单地向 Chromecast 设备发送一个 url 并获取它从接收器应用程序中的服务器。这个最推荐将照片发送到 Chromecast 的方法
  3. 如果您不是从服务器下载图像,您可以设置在您的客户端 Android 应用程序中运行您自己的服务器并发送接收者的 url 以从那里获取它。这倒是发送图像很复杂,但是更健壮选项比选项 1。

根据 Google 的说法,Chromecast 的目标是从云端流式传输内容,这就是为什么实际上没有任何原生支持发送本地镜像的原因。应鼓励开发人员从服务器将图像加载到接收器应用程序。

关于android - 将图像(照片)转换到 Chromecast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30643907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com