微信小程序开发-音频播放经验分享

功能

功能演示参考本人开发的小程序,具体是点击开始运动之后,开始播放各动作名称及时间倒计时。用户可以参考该时间进行相应的操作。

实现思路

最初的想法是通过常见的文本转语音的功能。 小程序本身提供有微信同声传译插件,但发现限制条件较多,个人开发者版的小程序无法使用。

后来就打算通过其他方式实现,本来以为这种很常见的功能会有免费版或者插件版能够实现,找了一大圈发现也没有。

像百度,腾讯,阿里这些都是需要收费使用,并且这些服务通过网络进行请求,但程序本身对反应时间有要求,所以这种方式也不大合适。

最后决定把这些时间,动作都转换为语音文件,然后使用小程序提供的语音播放功能进行开发。

这地方在后面做的时候也存在着两种解决方案(后面文章再做具体分析)。

代码实现

初始话音频:

js 复制代码
 initAudioEvent() {
    this.innerAudioContext = wx.createInnerAudioContext(
    { 
        useWebAudioImplement: true// 默认关闭。对于短音频、播放频繁的音频建议开启此选项
    }
    );
    this.innerAudioContext.autoplay = false
    this.innerAudioContext.onStop(() => {
      //this.innerAudioContext.src = 'null.m4a'
    })
    this.innerAudioContext.onEnded(() => {
      //this.innerAudioContext.src = 'null.m4a'
    })
  },

本项目中需要主动控制文件的播放,因为未使用autoplay功能,及切换src自动播放

在onLoad中初始化一次,防止多次调用事件,导致暂停和取消等功能不可用

js 复制代码
 onLoad(options) {
    this.initAudioEvent();
  },

在onUnload中销毁音频实例,否则有可能关闭了该页面,音频还在播放。

js 复制代码
  onUnload() {
    this.innerAudioContext.destroy();//销毁这个实例
  }

完成以上三步,就完成了音频的初始化操作,接下来就是对音频的操作了。

播放音频:

js 复制代码
playAudio(id) {
    this.innerAudioContext.stop();//暂停音频
    var prefix = "audio/";
    var suffix = ".mp3";
    this.innerAudioContext.src = prefix + id + suffix;//指定音频地址
    this.innerAudioContext.play();//播放音频
  },

因为是本地播放,需要指明文件的具体路径。

到此就实现了微信小程序中音频的播放功能。

下一篇将和大家继续探讨一下项目中实现音频的两种不同的解决方案。

相关推荐
Jing_Rainbow11 小时前
【 Weapp-1 /Lesson18(2025-11-03)】# 微信小程序开发全解析:从项目结构到生态优势 🚀
微信·微信小程序·程序员
千寻技术帮11 小时前
50045_基于微信小程序的民宿预订管理系统
微信小程序·源码·ppt·项目文档·民宿
禁止摆烂_才浅13 小时前
Taro 小程序页面返回传参完整示例
react.js·微信小程序·taro
vx_dmxq21118 小时前
【微信小程序学习交流平台】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·spring boot·python·mysql·微信小程序·小程序·idea
腾马科技19 小时前
小酒馆白酒饮料订单配送立即点餐存酒小程序源码
微信小程序·点餐小程序
vx_dmxq2111 天前
【PHP考研互助系统】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·spring boot·mysql·考研·微信小程序·小程序·php
我命由我123451 天前
微信开发者工具 - 模拟器分离窗口与关闭分离窗口
前端·javascript·学习·微信小程序·前端框架·html·js
G佳伟2 天前
‌微信小程序Webview转发页面空白问题解决方案‌
微信小程序·小程序
小皮虾2 天前
告别服务器!小程序纯前端“图片转 PDF”工具,隐私安全又高效
前端·javascript·微信小程序
源码_V_saaskw4 天前
JAVA国际版同城跑腿源码快递代取帮买帮送同城服务源码支持Android+IOS+H5
android·java·ios·微信小程序