开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术
AR与VR
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
信息服务
智能园区

消息发送列表

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