• 微信小程序语音提示


    一. 老规矩, 先上demo图: 

     

     

     

     

     

    然后通过 wx.createInnerAudioContext  创建内部 audio 上下文 InnerAudioContext 对象 就能播放 filename的语音链接

    二. 语音提示 --方法归类总结

      1使用wx.playVoice播放语音文件, 但是从基础库 1.6.0 开始,本接口停止维护,请使用 wx.createInnerAudioContext 代替;  官方链接: https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.playVoice.html      (废弃)

      2小程序插件 + wx.createInnerAudioContext          优点: 使用简单,直接播放录制好的音频文件;  缺点:  功能单一,无法定制,大写英文无法识别,部分小写英文发音不准

        3.  第三方语音服务 + wx.createInnerAudioContext   优点: 功能强大, 可定制, 满足复杂场景;  缺点: 需要服务端对接; 还要付费; 

        第三方语音平台: 1.腾讯Ai    2.科大讯飞     3. 百度AI     4. 阿里云

     

     

    三. 这边我讲解  第二种:  小程序插件 + wx.createInnerAudioContext  官方链接:https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html

      小程序插件: 微信同声传译

           后台添加:    设置

        

     

     

     

     

       在项目根目录app.json文件中配置:

           

    复制代码
    //app.json
    ......
      "sitemapLocation": "sitemap.json",
    "plugins": {   
            "WechatSI": { 
              "version": "0.3.5",  
              "provider": "wx069ba97219f66d99"  
            }
          }
    复制代码

     

     

     

         1.代码:

    复制代码
    
    class="activity">
        "bindKeyInput" value="{{inputValue}}" placeholder="请输入语音提示的文字"/>
        
    
    复制代码

     

    复制代码
    // 引入封装的语音提示
    import {sayTips} from '../../utils/tools/sayTips' 
    Page({
    
        /**
         * 页面的初始数据
         */
        data: {
            inputValue:''
        },
        // 输入
        bindKeyInput(e){
            this.setData({
                inputValue: e.detail.value.trim()
            })
        },
        // 语音提示
        textToSpeech(){
            sayTips(this.data.inputValue || '哈哈哈')
        }
    
    })
    复制代码

     

    自己封装的 sayTips.js

    复制代码
    /**
     * 语音提示封装
     * @param {String} content 提示的文字内容
     * 插件链接文档: https://mp.weixin.qq.com/wxopen/plugindevdoc?appid=wx069ba97219f66d99&token=1799717629&lang=zh_CN
     */
    const plugin = requirePlugin('WechatSI');
    export const sayTips = text => {
        // 从基础库 1.6.0 开始,本接口停止维护,请使用 wx.createInnerAudioContext 代替
        // 官方wx.createInnerAudioContext文档: https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/wx.createInnerAudioContext.html
        const innerAudioContext = wx.createInnerAudioContext()
        // 调用插件的方法
        plugin.textToSpeech({
            lang: 'zh_CN',
            content: text,
            success: function (res) {
                console.log(res)
                innerAudioContext.src = res.filename;
                innerAudioContext.play();
            },
            fail: function(err) {
                console.log("fail tts", err)
            }
        })
    }
    复制代码

     

     

     大家可以直接复制粘贴, 测试

     

     其他参考链接: https://zhuanlan.zhihu.com/p/551956789

     

     


    __EOF__

  • 原文作者: 嘻哈丨大熊
  • 原文链接: https://www.cnblogs.com/520BigBear/p/16665119.html
  • 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    第一百四十五回 如何给组件添加阴影
    第十八章《JDBC》第4节:数据库连接池
    C语言文本为什么不包括库函数和预处理命令
    Ubuntu安装Jenkins
    C51--开发环境
    Word控件Spire.Doc 【文本】教程(2) ;在 C#、VB.NET 中从 Word 文档中提取文本
    颠覆IoT行业的开发神器!涂鸦智能重磅推出TuyaOS操作系统【程序员必备】
    阿里云服务器搭建网站(图文新手教程)
    如何用 Kubernetes 自定义资源?
    关于笔记平台的使用感受分享
  • 原文地址:https://www.cnblogs.com/520BigBear/p/16665119.html