我遇到了三星智能電視的Bightcove提供的示例應用程序(https://github.com/BrightcoveOS/Samsung-Smart-TV-Sample-App)的問題。最新(2012)型號無法使用遙控器。它似乎是一個已知的bug(https://github.com/BrightcoveOS/Samsung-Smart-TV-Sample-App/issues/3),並在github上的報告和在brightcove的支持論壇上。不幸的是,他們停止維護源代碼,沒有人回覆這個問題。三星智能電視應用程序和Brightcove示例應用程序遠程控制問題
在2010/2011模型一切工作正常。
我認爲這個問題是位於某處的enginelite.keyhandler.js:
/**
*
* Simple TV App Engine KeyHandler
*
* author: A Different Engine LLC.
* http://adifferentengine.com
* [email protected]
*
*/
// This is pretty straightforward.
TVEngine.KeyHandler = {
keyActions: {
KEY_UP: 'onUp',
KEY_DOWN: 'onDown',
KEY_LEFT: 'onLeft',
KEY_RIGHT: 'onRight',
KEY_ENTER: 'onSelect',
KEY_RETURN: 'onReturn',
KEY_STOP: 'onStop',
KEY_FF: 'onFF',
KEY_RW: 'onRew',
KEY_PLAY: 'onPlay',
KEY_PAUSE: 'onPause',
KEY_YELLOW: 'onYellow',
KEY_RED: 'onRed',
KEY_BLUE: 'onBlue',
KEY_GREEN: 'onGreen',
KEY_EXIT: 'onExit',
KEY_MENU: 'onMenu',
KEY_BACK: 'onReturn',
KEY_SKIPFFORWARD: 'onSkipForward',
KEY_SKIPBACK: 'onSkipBack',
},
enabled: true,
keyMap: {},
init: function() {
// Maps system key list to ours
$KEYS = TVEngine.getPlatform().keys();
// Transforming Samsung keymap into something we like slightly better.
for(key in $KEYS) {
this.keyMap[$KEYS[key]] = key;
}
this._initializeKeyHandler();
},
_cleared: true,
_initializeKeyHandler: function() {
var _this = this; var clear;
$(document).bind("keydown", function(event) {
var action = _this.keyActions[_this.keyMap[event.keyCode]];
// $log("<<< GOT KEY ACTION: "+action+">>>");
if (action && _this.enabled) _this.trigger("keyhandler:"+action);
return false;
});
$(document).bind("keyup", function(event) {
var action = _this.keyActions[_this.keyMap[event.keyCode]]+"Release";
// $log("<<< GOT KEY ACTION: "+action+" >>>");
if (action) _this.trigger("keyhandler:"+action);
return false;
})
},
enable: function(){
this.enabled = true;
},
disable: function() {
this.enabled = false;
}
};
// Now we can subscribe to the keyhandler from anywhere.
_.extend(TVEngine.KeyHandler, Backbone.Events);
是否有人能解決這個問題嗎?
乾杯
非常感謝 - 作品魅力! – simplyray