Javascript 雅虎!连接的电视播放事件
我正在尝试订阅Javascript 雅虎!连接的电视播放事件,javascript,yahoo-widgets,Javascript,Yahoo Widgets,我正在尝试订阅onTimeIndexChangedmediaplayer事件。只要我订阅的视图保持专注,它就可以正常工作。当我按下后退按钮或窗口小部件按钮时,我的视图变得模糊,不再接收事件 是否可以通过切换视图来保持此订阅?有小部件范围的订阅吗 我想知道是否有可能计算客户端播放的时间。雅虎网站也回答了这个问题!连接电视论坛,网址: 是的,你在正确的轨道上。媒体播放器是一个单体播放器,因此不受任何特定视图的约束。您可以在小部件的全局执行上下文中定义订阅它的侦听器。通过这种方式,您仍然可以接收和处理
onTimeIndexChanged
mediaplayer事件。只要我订阅的视图保持专注,它就可以正常工作。当我按下后退按钮或窗口小部件按钮时,我的视图变得模糊,不再接收事件
是否可以通过切换视图来保持此订阅?有小部件范围的订阅吗
我想知道是否有可能计算客户端播放的时间。雅虎网站也回答了这个问题!连接电视论坛,网址: 是的,你在正确的轨道上。媒体播放器是一个单体播放器,因此不受任何特定视图的约束。您可以在小部件的全局执行上下文中定义订阅它的侦听器。通过这种方式,您仍然可以接收和处理视图被gc’d时发生的事件,并且您仍然可以接收这些事件 我们将这些全局订阅放在init.js中,因此它们位于中心位置(最佳实践)。 viewClass:VideoNowPlayingSnippetView}); 这是.\u snippetAdded=true; } 打破 案例KONtx.mediaplayer.constants.states.UNKNOWN: 案例KONtx.mediaplayer.constants.states.ERROR: 案例KONtx.mediaplayer.constants.states.STOP: 案例KONtx.mediaplayer.constants.states.EOF: KONtx.application.removeView('snippet-nowplaying'); 此项。_=false; 打破 } 中断 }); 我还应该补充一点,如果您订阅的是视图中的事件,那么在视图的hideView侦听器中取消订阅也非常重要。这可以防止内存泄漏和其他不良行为
EventHandlers.handlerPlayerEvent.subscribeTo(KONtx.mediaplayer, ['onStateChange', 'onTimeIndexChanged'], EventHandlers);
var EventHandlers = {
//snipped for brevity;
handlerPlayerEvent: function(event) {
switch(event.type) {
case 'onStateChange':
switch(event.payload.newState) {
case KONtx.mediaplayer.constants.states.PLAY:
if(!this._snippetAdded) {
KONtx.application.addViewConfig({ id: 'snippet-nowplaying',
case 'onTimeIndexChanged':
//do something interesting;
break;
}
}