I have the following component:
<?xml version="1.0" encoding="utf-8" ?>
<component name="KeyboardDialog" extends="StandardKeyboardDialog" >
<script type="text/brightscript" uri="pkg:/components/keyboard_dialog/keyboard_dialog.brs" />
<children>
</children>
</component>
I understand the keyboard in "StandardKeyboardDialog" is a DynamicKeyboard node which should have a VoiceTextEditBox. But when I bring up the dialog the textbox does not have the mic icon and voice entry seems like it's not enabled, what am I missing?
brs file:
function init()
print "Creating StandardKeyboardDialog"
' m.top.width = 1800
m.top.title = "Example StandardKeyboardDialog"
m.top.message = ["Hey User! What's your favorite color?"]
m.top.buttons = ["OK"]
m.top.textEditBox.hintText = "Type the name of a color..."
' This field is always false, and seems to be READ only
print m.top.textEditBox.voiceEnabled
m.top.observeFieldScoped("buttonSelected", "dismissDialog")
m.top.observeFieldScoped("text", "textChanged")
m.top.observeFieldScoped("wasClosed", "wasClosedChanged")
end function
sub wasClosedChanged()
print "Example StandardKeyboardDialog Closed"
end sub
sub textChanged()
print "ENTERED TEXT: "; m.top.text
end sub
sub dismissDialog()
print "We're dismissing dialog."
m.top.close = true
end sub
I copied it straight from this example and voice entry works just fine there, but not in my own channel. I've seen it mentioned that voice could be disabled due to the region/device not being supported, but I am in the US and working on a Roku Ultra, so I don't think that is the issue. Plus like I said I am able to run the example from github and voice is enabled there. I tried adding "supports_voice_roinput=1" to the manifest file but that didn't seem to change anything, am I missing something else in there?
title=Top menu
major_version=1
minor_version=0
build_version=0
mm_icon_focus_hd=pkg:/images/channel_logo_hd.jpg
splash_screen_fhd=pkg:/images/HM-Splash-FHD.png
splash_min_time=0
ui_resolutions=fhd
splash_rsg_optimization=1
supports_voice_roinput=1
I can't for the life of me figure out what is wrong, any help/suggestions would be greatly appreciated.
I think you're calling your component KeyboardDialog and there's already a component with that name. The example uses CustomKeyboardDialog as the name.
For what it's worth, even with a working voice-enabled keyboard I can set voiceEnabled to false, but once I do that I can't set it back to true.
I think you're calling your component KeyboardDialog and there's already a component with that name. The example uses CustomKeyboardDialog as the name.
For what it's worth, even with a working voice-enabled keyboard I can set voiceEnabled to false, but once I do that I can't set it back to true.
You are a life saver. That was indeed the problem and honestly I don't think it would have ever occurred to me that the name was causing the issue, thank you!!