Chromecast Receiver App - 意外命令,播放器处于IDLE状态

时间:2017-04-12 10:00:44

标签: javascript ios chromecast google-cast

我正在使用演员参考播放器示例代码来开发接收器应用程序。我正在使用强制转换消息总线发送一个JSON字符串来启动我的媒体。

所以在我的player.html中,我初始化了cast message bus。当我想要播放的媒体receive JSON时,我会player.js player.html启动//receive message to play -> pass media through var player = document.getElementById('player'); new sampleplayer.CastPlayer(player).start(); ,如此:

player.js

然后在我的sampleplayer.CastPlayer.prototype.start = function() { var self = this; var message = //JSON string this.load(JSON.parse(message)); var millisecondsToWait = 8000; setTimeout(function() { //Pause Works self.mediaElement_.pause(); }, millisecondsToWait); var millisecondsToWait = 10000; setTimeout(function() { //Play Works self.mediaElement_.play(); }, millisecondsToWait); };

[cast.receiver.MediaManager] Unexpected command, player is in IDLE state so the media session ID is not valid yet

我可以启动媒体,我可以使用上面的代码播放/暂停媒体。

当我尝试使用遥控器上的播放/暂停按钮时,出现以下错误: PlayState

我也没有得到我之前获得的任何df %>% select(DriveNo, `Date and Time`, Longitude) %>% distinct() 更新。

我相信我没有正确地做一些事情,但我不确定是什么。有谁知道我的一个很好的起点?感谢

1 个答案:

答案 0 :(得分:0)

我希望这可以帮助某人。

我可以使用playerManager.load(loadRequestData)playerManager.play()使用PlayerManger成功加载并开始播放视频。但是,一旦我停止使用playerManager.stop(),然后再次尝试播放,我就遇到了这个错误:

[cast.receiver.MediaManager] Unexpected command, player is in IDLE state so the media session ID is not valid yet

之所以发生这种情况,是因为playerManager.stop()方法从标记中卸载了视频。

要解决此问题,只需在播放之前检查视频是否已加载。

示例:

if (isNaN(playerManager.getDurationSec())) {
    // the player has been stopped, then I reload the video
    // Load with autoplay: playerManager.load(loadRequestData);
}
else {
    playerManager.play();
}