自定义接收器无法正确显示图像

Custom receiver doesn't display image correctly

我正在使用 chromecast SDK 3.0 并想创建自定义接收器。它适用于视频和音频,但在图像投射方面存在问题。
html文件中:

<body style="margin: 0">
         <img id="androidImage" src="" />
...


js文件中:

sampleplayer.CastPlayer.prototype.loadImage_ = function(info) {
  this.log_('loadImage_');
  var url = info.message.media.contentId;
  document.getElementById("androidImage").src=url;
  this.setState_(sampleplayer.State.PLAYING, true);
};

有了这样的实现,图像出现在一秒钟内,并随着替换为背景图像而消失。图像也以不正确的尺寸显示。为了设计比例类型,我使用了这样的代码:

<style>
      img#androidImage {
        height:100%;
        width:100%;
      }
  </style>

有人有意见吗?谢谢!

图像处理不同于视频和音频,因为没有 "playing" 状态。由于图像由 html 图像标签处理,因此没有与之关联的事件(在 video/audio 的情况下,Media 元素会产生许多事件,Cast SDK 会利用这些事件)。所以不要试图在接收方设置图像的状态。您可以选择使用以最基本的方式处理图像的 Default/Style 接收器。如果你想写一个自定义接收器,你可以简单地使用自定义命名空间将图像 url 发送到你的接收器,然后在接收器端,获取 url 并填充一个图像标签(类似于什么你正在尝试);无需为围绕其他类型媒体的接收器 SDK 的其他方面而烦恼。最后一件事:如果您打算添加幻灯片功能、花哨的过渡等,您将无法对图像做很多事情;您可以一张一张地显示图像,淡出一个并淡出下一个(以产生更令人愉悦的过渡)。