我将各种内容放在 index.html 的div标记中。其中之一是视频。从菜单中选择视频时,我放置播放器和音频对象并初始化它们:
var html_data = '<object id="pluginPlayer" border=0 classid="clsid:SAMSUNG-INFOLINK-PLAYER"></object>';
html_data += '<object id="pluginAudio" border=0 classid="clsid:SAMSUNG-INFOLINK-AUDIO"></object>';
widgetAPI.putInnerHTML($('#main-content')[0], html_data);
我用它们初始化它们
Player.init();
Audio.init();
Player.setVideoURL(url);
Player.playVideo();
视频开始播放,当我尝试使用+和-音量键控制音量时,我得到以下跟踪:
Error Detail: Uncaught TypeError: Object #<HTMLObjectElement> has no method 'SetVolumeWithKey'
另一方面,播放器(以相同方式初始化和使用)的方法没有问题。
这是代码:
索引.html
<script type="text/javascript" language="javascript" src="$MANAGER_WIDGET/Common/API/Widget.js"></script>
<script type="text/javascript" language="javascript" src="$MANAGER_WIDGET/Common/API/TVKeyValue.js"></script>
<script type="text/javascript" language="javascript" src="$MANAGER_WIDGET/Common/API/Plugin.js"></script>
<script type="text/javascript" language="javascript" src='$MANAGER_WIDGET/Common/jquery.js'></script>
...
<script language="javascript" type="text/javascript" src="app/javascript/Main.js"></script>
<script language="javascript" type="text/javascript" src="app/javascript/Player.js"></script>
<script language="javascript" type="text/javascript" src="app/javascript/Audio.js"></script>
主.js
Main.keyDown = function()
{
var keyCode = event.keyCode;
switch(keyCode){
...
case tvKey.KEY_VOL_DOWN:
case tvKey.KEY_PANEL_VOL_DOWN:
alert("VOL_DOWN");
Audio.setRelativeVolume(1);
break;
}
...
}
音频.js
var Audio =
{
plugin : null
}
Audio.init = function(){
var success = true;
this.plugin = document.getElementById("pluginAudio");
if (!this.plugin)
{
success = false;
}
return success;
}
Audio.setRelativeVolume = function(delta){
//error reports here
this.plugin.SetVolumeWithKey(delta);
}
Audio.getVolume = function(){
alert("Volume : " + this.plugin.GetVolume());
return this.plugin.GetVolume();
}
我尝试在 .js 调用之前和之后将 pluginAudio 对象添加到 html 的头部,尝试注册/取消注册键
Main.onLoad = function(){
window.onshow = function () {
//pluginAPI.registKey(tvKey.KEY_VOL_UP);
//pluginAPI.registKey(tvKey.KEY_VOL_DOWN);
//pluginAPI.registKey(tvKey.KEY_PANEL_VOL_UP);
//pluginAPI.registKey(tvKey.KEY_PANEL_VOL_DOWN);
//pluginAPI.unregistKey(tvKey.KEY_VOL_UP);
//pluginAPI.unregistKey(tvKey.KEY_VOL_DOWN);
}
}
甚至从开发论坛尝试了三星测试应用程序,在尝试音量键时我得到了同样的错误。
请问有什么问题吗?我需要使用音量增大和减小键(键值 7 和 11 - 如果没有记错的话)来控制自定义视频(不是电视节目)音量。