雅虎连接的电视播放事件

我正在尝试订阅
onTimeIndexChanged
媒体播放器活动。它工作正常,只要我订阅的视图保持专注。当我按下后退按钮或小部件按钮时,我的视图变得模糊,不再接收事件。 此订阅是否可以通过切换视图来保留?是否有小部件范围的订阅? 我试图找出是否有可能计算播放客户端的时间。     
已邀请:
雅虎也回答了这个问题。联网电视论坛:http://developer.yahoo.net/forum/?showtopic = 7383 是的,你走在正确的轨道上。媒体播放器是单身,因此不受任何特定视图的约束。您可以在窗口小部件的全局执行上下文中定义一个订阅它的侦听器。这样,您仍然可以接收和处理视图为gc'd时发生的事件,并且您仍然可以接收这些事件。 我们将这些全局订阅放在init.js中,因此它们位于中心位置(最佳实践)。
 
EventHandlers.handlerPlayerEvent.subscribeTo(KONtx.mediaplayer, ['onStateChange', 'onTimeIndexChanged'], EventHandlers);
然后,在Javascript / core / EventHandlers.js中:
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',
viewClass:VideoNowPlayingSnippetView});                                                         this._snippetAdded = true;                                                 }                                                 打破;                                         case KONtx.mediaplayer.constants.states.UNKNOWN:                                         case KONtx.mediaplayer.constants.states.ERROR:                                         case KONtx.mediaplayer.constants.states.STOP:                                         case KONtx.mediaplayer.constants.states.EOF:                                                 KONtx.application.removeView( '片段-nowplaying');                                                 this._snippetAdded = false;                                                 打破;                                 }                                 打破;
                    case 'onTimeIndexChanged':
                            //do something interesting;
                            break;
            }
    }
}; 我还要补充一点,如果您在视图中订阅事件,那么在视图的hideView侦听器中取消订阅它们也非常重要。这可以防止内存泄漏和其他不良行为。     

要回复问题请先登录注册