消息发送列表
List列举了在case中通过 send_message_to_native 函数向 sdk 进行消息通信的所有可用消息以及使用方式。
Alert
show_dialog
调用系统的弹窗显示内容
Parameters
- event_name : 事件的名称(本事件仅可用 "show_dialog")
- msg : 通过弹窗要显示的内容
- title : 弹窗的title
- confirm_text : 确认按钮的文案
- cancel_text : 取消按钮的文案
- key : 事件的唯一标识,用来在回调中区分
sample:
local msg = {}
msg["event_name"] = "show_dialog"
msg["msg"] = "send msg by lua table ok"
msg["title"] = "提示"
msg["confirm_text"] = "确认"
msg["cancel_text"] = "取消"
msg["key"] = "110100101"
app_controller:send_message_to_native(msg)
show_toast
调用系统的toast显示内容
Parameters
- event_name : 事件的名称(本事件仅可用 "show_toast")
- msg : 通过弹窗要显示的内容
- key : 事件的唯一标识,用来在回调中区分
sample:
local msg = {}
msg["event_name"] = "show_toast"
msg["msg"] = "show_toast"
msg["key"] = "1101001012"
app_controller:send_message_to_native(msg)
回调
响应从native层发来的消息
Return
- event_name = "on_dialog_result"
- result : 通过弹窗要显示的内容
- key : 事件的唯一标识,用来在回调中区分
sample:
function on_message_from_native(msg)
local event_name = msg['event_name']
io.write("got a message from native:"..event_name)
end
app_controller:set_native_message_handler(on_message_from_native)
Front Camera
enable_front_camera
显示切换前置摄像头按钮
Parameters
- event_name : 事件的名称(本事件仅可用 "enable_front_camera")
sample:
local msg = {}
msg["event_name"] = "enable_front_camera"
app_controller:send_message_to_native(msg)
exchange_frontback_camera
切换前后摄像头
Parameters
- event_name : 事件的名称(本事件仅可用 "exchange_frontback_camera")
sample:
local msg = {}
msg["event_name"] = "exchange_frontback_camera"
app_controller:send_message_to_native(msg)
回调
响应从native层发来的消息:
Return:
- event_name = "on_camera_change"
- front_camera : 1 (是否是前置摄像头)
sample:
function on_message_from_native(msg)
local event_name = msg['event_name']
io.write("got a message from native:"..event_name)
end
app_controller:set_native_message_handler(on_message_from_native)
Native UI
change_native_visible_type
改变native的显示类型
Parameters
- event_name : 事件的名称(本事件仅可用 "change_native_visible_type")
visible_type : 显示的类型:
0:显示全部ui 1:隐藏全部ui 2:显示拍摄区域按钮 3:隐藏拍摄区域按钮 4:显示顶部ui 5:隐藏顶部ui
sample:
local msg = {}
msg["event_name"] = "change_native_visible_type"
msg["visible_type"] = 1
app_controller:send_message_to_native(msg)
Track
open_track
开启跟踪算法 (目前仅可用在artype为0的case中)
Parameters
- event_name : 事件的名称(本事件仅可用 "open_track")
sample:
local msg = {}
msg["event_name"] = "open_track"
app_controller:send_message_to_native(msg)
close_track
关闭跟踪算法 (目前仅可用在artype为0的case中)
Parameters
- event_name : 事件的名称(本事件仅可用 "close_track")
sample:
local msg = {}
msg["event_name"] = "close_track"
app_controller:send_message_to_native(msg)
Gesture
open_gesture_recognize
开启跟踪算法(目前仅可用在artype为0的case中)
Parameters
- event_name : 事件的名称(本事件仅可用 "open_gesture_recognize")
sample:
local msg = {}
msg["event_name"] = "open_gesture_recognize"
app_controller:send_message_to_native(msg)
close_gesture_recognize
关闭跟踪算法(目前仅可用在artype为0的case中)
Parameters
- event_name : 事件的名称(本事件仅可用 "close_gesture_recognize")
sample:
local msg = {}
msg["event_name"] = "close_gesture_recognize"
app_controller:send_message_to_native(msg)
Webview
load_webview
加载一段url并将webview渲染成模型
Parameters
- event_name | string : 事件的名称(本事件仅可用 "load_webview")
- texture_id | number : json中需要加载webview的纹理id,可以通过get_texture_id获取
- width | number : 实际渲染的webview的宽,单位是px
- height | number : 实际渲染的webview的高,单位是px
- is_remote | number : 是否是本地url(默认value=0,本地资源,value=1,是网络资源)
- url | string : url地址
sample:
local msg = {}
msg["event_name"] = "load_webview"
msg["texture_id"] = 10
msg["width"] = 2000
msg["height"] = 2800
msg["is_remote"] = 0
msg["url"] = "res/webroot/begin_button.html"
app_controller:send_message_to_native(msg)
update_webview_js
更新webview中的js
Parameters
- event_name | string : 事件的名称(本事件仅可用 "exchange_frontback_camera")
- texture_id | number : json中需要加载webview的纹理id,可以通过get_texture_id获取
- js_code | string : 一段js的字符串
sample:
local msg = {}
msg["event_name"] = "update_webview_js"
msg["texture_id"] = 10
msg["js_code"] = "changeword('hello')"
app_controller:send_message_to_native(msg)
回调
响应从native层发来的消息:
Return:
event_name =
"webView_operation_load_finish" : webview加载完成 "webView_operation_load_failed" : webview加载失败 "webView_operation_update_finish" webview更新完成
- texture_id = 标识webview的id
sample:
function on_message_from_native(msg)
local event_name = msg['event_name']
io.write("got a message from native:"..event_name)
end
app_controller:set_native_message_handler(on_message_from_native)
Slam
start_slam
开始slam,调用此接口,可以放置模型
Parameters
- event_name | string : 事件的名称(本事件仅可用 "start_slam")
sample:
local msg = {}
msg["event_name"] = "start_slam"
app_controller:send_message_to_native(msg)
slam_reset
slam场景下,模型不在屏幕内,对模型进行位置重置
Parameters
- event_name | string : 事件的名称(本事件仅可用 "slam_reset")
- x | number : 模型重置后在屏幕坐标系的横坐标位置,取值0-1之间
- y | number : 模型重置后在屏幕坐标系的纵坐标位置,取值0-1之间
- distance | number : 模型在空间中的深度
- type : slam重置的类型 (1,2)
sample:
local msg = {}
msg["event_name"] = "slam_reset"
msg["x"] = 0.5
msg["y"] = 0.5
msg["distance"] = "start_slam"
msg["type"] = "start_slam"
app_controller:send_message_to_native(msg)
start_detect_plane
开始检测平面
Parameters
- event_name | string : 事件的名称(本事件仅可用 "start_detect_plane")
sample:
local msg = {}
msg["event_name"] = "start_detect_plane"
app_controller:send_message_to_native(msg)
set_plane_detection_type
设置平面检测的类型
Parameters
- event_name | string : 事件的名称(本事件仅可用 "set_plane_detection_type")
- type | number : 检测平面的类型。0 : 检测水平面,1:检测竖直平面,2:同时检测水平面和竖直平面
sample:
local msg = {}
msg["event_name"] = "set_plane_detection_type"
msg["type"] = 2
app_controller:send_message_to_native(msg)
redetect_plane
重新检测平面
Parameters
- event_name | string : 事件的名称(本事件仅可用 "redetect_plane")
sample:
local msg = {}
msg["event_name"] = "redetect_plane"
app_controller:send_message_to_native(msg)
set_plane_feature_info_enabled
是否开启平面特征点信息
Parameters
- event_name | string : 事件的名称(本事件仅可用 "plane_detection_type")
sample:
local msg = {}
msg["event_name"] = "set_plane_feature_info_enabled"
msg["type"] = 1
app_controller:send_message_to_native(msg)
Speech
show_speech_mic_icon
显示语音识别的图标
Parameters
- event_name | string : 事件的名称(本事件仅可用 "show_speech_mic_icon")
sample:
local msg = {}
msg["event_name"] = "show_speech_mic_icon"
app_controller:send_message_to_native(msg)
hide_speech_mic_icon
关闭语音识别的图标
Parameters
- event_name | string : 事件的名称(本事件仅可用 "hide_speech_mic_icon")
sample:
local msg = {}
msg["event_name"] = "hide_speech_mic_icon"
s
app_controller:send_message_to_native(msg)
speech_start_listen
开始语音识别
Parameters
- event_name | string : 事件的名称(本事件仅可用 "speech_start_listen")
sample:
local msg = {}
msg["event_name"] = "speech_start_listen"
app_controller:send_message_to_native(msg)
speech_stop_listen
关闭语音识别
Parameters
- event_name | string : 事件的名称(本事件仅可用 "speech_start_listen")
sample:
local msg = {}
msg["event_name"] = "speech_stop_listen"
s
app_controller:send_message_to_native(msg)
回调
响应从native层发来的消息:
Return:
- event_name = "speech_result"
- status |number : 语音识别后的状态
- voice_result |string : 语音识别的结果
- voice_text | string : 语音识别的文字
- error_id | number : 错误的id
sample:
function on_message_from_native(msg)
local event_name = msg['event_name']
io.write("got a message from native:"..event_name)
end
app_controller:set_native_message_handler(on_message_from_native)
TTS
tts_start_speak
利用tts开始播放
Parameters
- event_name | string : 事件的名称(本事件仅可用 "tts_start_speak")【必填】
- tts | string : 需要用tts能力阅读的文字 【必填】
- speaker | number : 0 【必填】
- speed | number : 说话的语速 【必填】
- volume | number : 音量大小 【必填】
sample:
local msg = {}
msg["event_name"] = "tts_start_speak"
msg["tts"] = "你好,开始说话"
msg["speaker"] = 0
msg["speed"] = 5
msg["volume"] = 0.5
app_controller:send_message_to_native(msg)
tts_pause_speak
暂停tts
Parameters
- event_name | string : 事件的名称(本事件仅可用 "tts_pause_speak")
sample:
local msg = {}
msg["event_name"] = "tts_pause_speak"
s
app_controller:send_message_to_native(msg)
tts_resume_speak
tts继续播放
Parameters
- event_name | string : 事件的名称(本事件仅可用 "tts_resume_speak")
sample:
local msg = {}
msg["event_name"] = "speech_start_listen"
app_controller:send_message_to_native(msg)
tts_stop_speak
tts停止播放
Parameters
- event_name | string : 事件的名称(本事件仅可用 "tts_stop_speak")
sample:
local msg = {}
msg["event_name"] = "tts_stop_speak"
app_controller:send_message_to_native(msg)
回调
响应从native层发来的消息
Return:
- event_name = "tts_result"
- status |number : tts的状态
sample:
function on_message_from_native(msg)
local event_name = msg['event_name']
io.write("got a message from native:"..event_name)
end
app_controller:set_native_message_handler(on_message_from_native)