根据教程添加镀铬。
添加 Chromecast 按钮后,单击它,从网络中选择一个可用设备,然后将其连接。浏览器中可以看到状态“Streaming”,实际上什么也没发生,除了控制台中出现以下错误:
TypeError: Cannot read property 'loadMedia' of null
代码:
cast.framework.CastContext.getInstance().setOptions({
receiverApplicationId: '111111',
autoJoinPolicy: chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED
});
var currentMediaURL =
'https://.....';
var contentType = 'mp4';
var mediaInfo = new chrome.cast.media.MediaInfo(currentMediaURL,contentType);
var request = new chrome.cast.media.LoadRequest(mediaInfo);
console.log('Below variable -mediaInfo ');
console.log(mediaInfo);
console.log('Below variable -request ');
console.log(request);
var castSession = cast.framework.CastContext.getInstance().getCurrentSession();
console.log('Below variable -castSession ');
console.log(castSession);
castSession.loadMedia(request).then(
function () {
console.log('Load succeed');
},
function (errorCode) {
console.log('Error code: ' + errorCode);
});
代码测试:
据我了解,由于某种原因,流的链接未发送。 有一个有趣的问题,为什么流的链接会转到变量
contentid
,尽管有一个变量contentUrl
?
var castSession = cast.framework.CastContext.getInstance().getCurrentSession();
没有会话,因为您必须先从浏览器投射到电视。转换后,您需要运行该函数。但是,我不确定连接到接收设备后如何执行该功能。目前,我正在使用临时解决方案来确定原因。
setTimeout(() => {
var castSession = cast.framework.CastContext.getInstance().getCurrentSession();
var mediaInfo = new chrome.cast.media.MediaInfo(url, "video/mp4");
var request = new chrome.cast.media.LoadRequest(mediaInfo);
console.log(castSession);
castSession.loadMedia(request).then(
function () {
console.log("Load succeed");
},
function (errorCode) {
console.log("Error code: " + errorCode);
},
);
var player = new cast.framework.RemotePlayer();
var playerController = new cast.framework.RemotePlayerController(player);
}, 10000);