
回复
权限申请
方式一
下载voice-overlay_ohos源码,启动 DevEco Studio并打开本工程可直接编译运行entry示例工程。
方式二
在project的build.gradle中添加mavenCentral()的引用
在entry的build.gradle中添加依赖
进入应用,通过如下方式判断是否具有权限:
参见 实现代码.
如果没有 MICROPHONE
权限则会弹出权限对话框,当确认权限后进入语音识别页面。
通过 VoiceSpeechRecognizer.ResultsListener
得到使用者语音转换的文字信息:
参见 实现代码.
如果用户不允许权限申请, 应该向用户解释使用权限的理由; 如果用户拒绝权限后还想使用语音转换功能,应该引导用户去恢复权限使用; Voice overlay都能处理以上情况:
参见 实现代码.
以上实现将展示权限说明和恢复权限的操作流程。
你可以在Behavior和Suggestions中定制说明信息,例如以下的示例:
你可以通过如下方式关闭自动启用语音:
你可以在 strings.json
替换相关的说明文字:
你可以替换应用的布局,但要遵守如下的布局结构:
在权限页面中使用 voice_permission.xml
布局文件,包括:
$+id:close
的关闭页面按钮$+id:title
的标题文字$+id:subtitle
的副标题文字在语音转换页面使用 voice_input.xml
布局文件,包括:
$+id:microphone
的VoiceMicrophone
来处理语音操作$+id:suggestions
的操作说明文字$+id:close
的关闭页面按钮$+id:title
的标题文字$+id:subtitle
的副标题文字$+id:hint
的提示文字$+id:ripple
的 RippleView
的动画对象