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;
            }
    }