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



>我在 Roku 应用程序中禁用"快进"、"暂停"等远程控制按钮时遇到问题。这是一个非常简单的应用程序,只有一个主场景,它只创建一个播放我们电视频道直播流的视频节点。Roku接受他们要求您在直播期间禁用"快进"等技巧播放按钮。 文档说这应该使用"onKeyEvent()"函数来处理。如果事件被处理,它"不应该"冒泡并由固件处理。 我可以控制台日志以证明该函数正在触发,但是当我将"handled"转换为 true 并返回它时,它似乎没有任何效果。所有按钮继续触发并执行其操作。

我使用了他们提供的示例,甚至将其简化为无条件地将"处理"变为真实。(除其他事项外)我尝试将其从视频场景 brs 文件移动到主文件(所有内容都已初始化)并移动它,但我被难住了。按下按钮时它会触发,但返回 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

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

我想知道为什么您不使用视频节点的"enableTrickPlay"和"enableUI"字段来实现目的。 请检查:https://sdkdocs.roku.com/display/sdkdoc/Video 在"UI字段"下

你不需要像你在问题中提到的那样在onKeyEvent函数中做。

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

如果将处理实时内容的视频控件。

您可以在 https://github.com/rokudev/simple-videoplayer-channel 中找到示例视频播放器代码

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

主.brs 主场景 所有其他组件

您可以设置一个自定义组件来扩展RokuVideo组件并覆盖其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

最新更新