在Roku直播应用视频节点中禁用远程(特技播放)按钮?

时间:2018-01-17 12:55:39

标签: roku brightscript

我无法在我的Roku应用程序中禁用“快进”,“暂停”等遥控器按钮。这是一个非常简单的应用程序,只有一个主场景,它只创建一个播放我们电视频道直播的视频节点。 Roku接受它接受它们要求你在直播期间禁用“快进”等特技播放按钮。文档说这应该使用“onKeyEvent()”函数来处理。如果事件被处理,它“不应该”冒泡并由固件处理。我可以控制日志来证明函数正在触发但是当我将“处理”变为真并返回它时,它似乎没有效果。所有的按钮继续发射并做他们的事情。

我已经使用了他们提供的示例,甚至一直将其简化为无条件地将“处理”变为真。 (除其他外)我尝试将它从视频场景brs文件移动到main(所有内容都已初始化)并移动它但我很难过。按下按钮时会触发,但返回true似乎什么都不做。

应用程序仅启动,创建视频节点并开始播放流。除了发布谷歌分析事件,它不会做任何其他事情。

Roku的例子:(https://sdkdocs.roku.com/display/sdkdoc/Handling+Application+Events#HandlingApplicationEvents-HandlingRemoteControlKeyPresses

function onKeyEvent(key as String, press as Boolean) as Boolean
  handled = false
  if press then
    if (key = "back") then
      handled = false
    else
      if (m.warninglabel.visible = false)
        m.warninglabel.visible="true"
      else
        if (key = "OK") then
          m.warninglabel.visible="false"
        end if
      end if
      handled = true
    end if
  end if
  return handled
end function

这有什么遗漏吗?如果有人知道如何禁用这些按钮,我将不胜感激。

4 个答案:

答案 0 :(得分:1)

您不需要像在问题中提到的那样使用onKeyEvent函数。

只需在视频节点的内容元数据中将“实时”字段值设置为true,如文档中所述 https://sdkdocs.roku.com/display/sdkdoc/Content+Meta-Data

如果将处理您的直播内容的视频控件。

您可以在https://github.com/rokudev/simple-videoplayer-channel

中找到示例视频播放器代码

答案 1 :(得分:1)

我想知道你为什么不使用Video节点的“enableTrickPlay”和“enableUI”字段。 请在“UI字段”

下查看:https://sdkdocs.roku.com/display/sdkdoc/Video

答案 2 :(得分:0)

您可以尝试在视频节点上设置enableUI和enableTrickPlay字段。此外,如果视频节点具有焦点,它将自动处理某些按键操作。如果它没有聚焦,它将不会自动处理这些按键。未处理的按键将从视频播放器和焦点链中向上冒出。焦点链取决于您的代码。但它应该从上到下看起来像这样。

main.brs MainScene 所有其他组件

答案 3 :(得分:0)

您可以设置自定义组件,以扩展Roku Video 组件并覆盖其 onKeyEvent 功能,如下所示

function onKeyEvent(key as String, press as Boolean) as Boolean
        if (press) 
           if (key = "replay" OR key = "fastforward" OR key = "rewind")
               return true
        end if
    end if
      return false
end function