资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

消息发送列表

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)
上一篇
版本控制字段
下一篇
静态场景配置API