马小力
马小力
  • 发布:2024-12-09 10:08
  • 更新:2024-12-09 15:29
  • 阅读:84

【报Bug】文本转语音,在Android targetSdkVersion 设置为30时,小米和oppo部分设备无法工作

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 10 专业版

HBuilderX类型: 正式

HBuilderX版本号: 4.36

手机系统: Android

手机系统版本号: Android 13

手机厂商: OPPO

手机机型: PFJM10

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

1.添加插件https://ext.dcloud.net.cn/plugin?id=4133
2.将targetSdkVersion设置为30
3.测试代码:

const tts = uni.requireNativePlugin("nrb-tts-plugin")  

tts && tts.init({ "lang":"ZH", "country":"CN" }, res => {  
    if(res.success == 0){  
        console.log('初始化TTS成功')  
    }  
})  

tts && tts.speak('测试语音播报', {}, e => {  
    console.log(e)  

})  

//停止播放  
tts && tts.stop()

4.打包运行

预期结果:

1.targetSdkVersion设置为30和不设置的两种情况,都能正常播报语音

实际结果:

1.targetSdkVersion配置移除,能正常播报语音
2.targetSdkVersion设置为30,不能正常播报语音

bug描述:

使用 插件 https://ext.dcloud.net.cn/plugin?id=4133 (原生自带的tts文本转语音)。如果targetSdkVersion 设置为 30,那么文本转语音无法工作。

通过原生Android代码分析,Android原生需要在AndroidManifest.xml的manifest节点中添加

<queries>  
    <intent>  
        <action android:name="android.intent.action.TTS_SERVICE" />  
    </intent>  
</queries>  

关键的问题是:如何在uniapp的清单文件中有效的把这个配置加上,在当前的所有文档中没有找到添加queries的相关内容

2024-12-09 10:08 负责人:无 分享
已邀请:
DCloud_UNI_OttoJi

DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信

可以在这个插件评论区进行反馈

  • 马小力 (作者)

    就是现在不支持在manifest文件中添加Android的这个配置么?

    2024-12-13 14:08

要回复问题请先登录注册