【发布时间】:2018-12-24 13:23:39
【问题描述】:
我正在使用 SambaPlayer API(文档 -> http://dev.sambatech.com/documentation/player/api/metodos-e-eventos/)将视频合并到我的页面中,但为了做到这一点,我必须通过 js 传递视频 ID,这是我通过 View Model 从控制器获取的.这是我的代码:
var playerConfig = {
height: 360,
width: 640,
ph: "df63f6e5bff216691764ae488e01427c",
m: "@Model.Videos.First().IdVideo", //HERE IS WHERE IT GOES THE VIDEO ID
events: {
"*": "eventListener"
},
playerParams: {
wideScreen: true
}
};
var player = new SambaPlayer("player", playerConfig);
function eventListener(player) {
alert(player.event);
}
问题是:当我像这样传递我的 id 时,视频已加载,但事件未触发。只有第一个(onLoad)是,但我需要获取其他事件,如 onFinish 和 onStart。 我已经检查了响应,当警报“@Model.Videos.First().IdVideo”时,它会正确打印 id 值。我可以使它工作的唯一方法是对 id 进行硬编码。
已解决
我找到了导致此问题的原因。出于某种原因,当我通过视图模型传递视频 ID 时,它正在添加空格,这在警报中是难以察觉的。所以我只是在控制器上的视频 id 变量中添加了 .Trim() 并且它起作用了。我不知道为什么会发生这种情况,也不知道为什么视频一直在加载,只是没有触发事件。不过,问题解决了。
【问题讨论】:
-
你尝试在播放器初始化之前只交换 eventListener 函数吗?
-
请将您的解决方案作为自己的答案发布,谢谢。
标签: javascript c# .net model-view-controller