• 语音自动播报的问题 WeixinJSBridge


    ios版微信


    start(flag) { if(flag==='R'){ this.audio.src = require('../../../assets/mp3/red.mp3') }else if(flag==='Y'){ this.audio.src = require('../../../assets/mp3/yellow.mp3') } if (typeof WeixinJSBridge === "undefined") { //未执行WeixinJSBridge 开始监听 WeixinJSBridge document.addEventListener('WeixinJSBridgeReady',() => { document.getElementById('mp3Btn').play(); }, false); } else { //已经执行 使用 getNetworkType 调用获取网络类型后执行 WeixinJSBridge.invoke("getNetworkType", {}, () => { document.getElementById('mp3Btn').play(); }); } },

      

    安卓版微信、安卓、ios版支付宝
    <template>
      <div></div>
    </template>
    
    <script>
    
    export default {
      name: "App",
      data() {
        return {
          context:null,
          source:null,
          audioBuffer:null,
        };
      },
      mounted() {
      },
      methods: {
        start(flag){
          window.AudioContext = window.AudioContext || window.webkitAudioContext || window.mozAudioContext || window.msAudioContext;
          this.context = new window.AudioContext();
          this.source = null;
          this. audioBuffer = null;
          if(flag==='R'){
            this.loadAudioFile(require('../../../assets/mp3/red.mp3'))
          }else if(flag==='Y'){
            this.loadAudioFile(require('../../../assets/mp3/yellow.mp3'))
          }
    
        },
        stopAudio() {
          this.source.stop();
        },
        loadAudioFile(url) {
          let _that = this
          var xhr = new XMLHttpRequest(); //通过XHR下载音频文件
          xhr.open('GET', url, true);
          xhr.responseType = 'arraybuffer';
          xhr.onload =  function (e) { //下载完成
            _that.initSound(this.response);
          };
          xhr.send();
        },
        initSound(arrayBuffer) {
          let _this = this
          this.context.decodeAudioData(arrayBuffer, function (buffer) { //解码成功时的回调函数
            _this.audioBuffer = buffer;
            _this.playSound();
          }, function (e) { //解码出错时的回调函数
            console.log('Error decoding file', e);
          });
        },
        playSound() {
          this.source = this.context.createBufferSource();//获取音频数据
          this.source.buffer =  this.audioBuffer;
          this.source.loop = true;
          this.source.connect(this.context.destination);
          this.source.start(); //立即播放
        },
    
      },
    };
    </script>
    

      

  • 相关阅读:
    Idea导入tomcat源码
    SpringBoot学习 (一) Eclipse中创建新的SpringBoot项目
    Zookeeper客户端Curator使用详解
    解决老是提示找不到Mapper文件无法执行定义的方法问题!
    人工智能、机器学习、深度学习三者之间的关系
    java5增加对https的支持
    Spring静态注入的三种方式
    Thrift入门及Java实例演示【转】
    activeMQ 学习
    python中 import 和from ... import 的区别
  • 原文地址:https://www.cnblogs.com/cs122/p/16288965.html
Copyright © 2020-2023  润新知