将 JPEG 图像投射到 CAF 接收器应用程序
Posted
技术标签:
【中文标题】将 JPEG 图像投射到 CAF 接收器应用程序【英文标题】:Casting an JPEG image to CAF receiver app 【发布时间】:2017-11-04 16:00:05 【问题描述】:我一直在努力将一个简单的图像发送到一个通用的、未经修改的、定制的 CAF 接收器应用程序 (https://developers.google.com/cast/docs/caf_receiver_basic)
尝试将其作为通用媒体发送,具有不同的元数据类型、不同的媒体类型...但没有成功。
我收到错误“[cast.framework.PlayerManager] Load failed: Cannot read property 'tracks' of null
”或“[cast.receiver.MediaManager] Load metadata error: Error
”
使用相同的代码但使用默认接收器 (receiverApplicationId: chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID) 加载图像可以正常工作。投射 MP4 视频也没有任何问题。
var castSession = cast.framework.CastContext.getInstance().getCurrentSession();
var mediaInfo = new chrome.cast.media.MediaInfo(imgUrl, 'image/jpeg');
mediaInfo.metadata = new chrome.cast.media.GenericMediaMetadata();
mediaInfo.metadata.metadataType = chrome.cast.media.MetadataType.PHOTO;
mediaInfo.metadata.type = chrome.cast.media.MetadataType.PHOTO;
var request = new chrome.cast.media.LoadRequest(mediaInfo);
castSession.loadMedia(request).then(
function() console.log('Load succeed'); ,
function(errorCode) console.log('Error code: ' + errorCode);
);
【问题讨论】:
【参考方案1】:试试这个(刚刚让它工作,所以如果你还在寻找它可能会有所帮助):
var castSession = cast.framework.CastContext.getInstance().getCurrentSession();
var mediaInfo = new chrome.cast.media.MediaInfo(imgUrl, 'image/jpeg');
var metadata = new chrome.cast.media.PhotoMediaMetadata();
metadata.title = "Title text";
metadata.metadataType = chrome.cast.media.MetadataType.PHOTO;
mediaInfo.metadata = metadata;
var request = new chrome.cast.media.LoadRequest(mediaInfo);
castSession.loadMedia(request).then(
function() console.log('Load succeed'); ,
function(errorCode) console.log('Error code: ' + errorCode);
);
【讨论】:
以上是关于将 JPEG 图像投射到 CAF 接收器应用程序的主要内容,如果未能解决你的问题,请参考以下文章
如何将数千个图像文件移动到每个包含 400 个图像文件的子文件夹中?
如何将我的自定义接收器 chromecast(CAF)的媒体播放器更改为另一个播放器
一个应用程序是不是可以有多个 CastOptionsProvider,作为投射到 2 个不同的接收器应用程序的一种方式?