uniapp音频的播放和暂停问题

在写需求的时候遇到了一个小难点,要实现switch组件控制语音播报的开关,花了不少时间来解决,现在记录一下。

一、实现功能

申请扬声器权限,收款成功后语音自动播报收款金额,

开的时候播放语音,关的时候关闭语音播放。

二、使用步骤

1.代码

参考文档:https://uniapp.dcloud.io/api/media/audio-context.html#createinneraudiocontext
代码如下(示例):

<template><view class="pages"><view class="sknotice"><uni-list border-full><view><view class="uni-list"><view class="uni-list-cell uni-list-cell-pd" v-for="(sktz,index) in gzhtz" :key="index"><uni-list-item :border="false" :title="sktz.tz" note="通过商家助手公众号接受收款通知" /><switch @change="switch1Change" /></view><view class="uni-list-cell uni-list-cell-pd" v-for="(sky,index) in skyy" :key="index"><uni-list-item :border="false" :title="sky.yy" note="收款成功时语音播报收款金额" /><switch @change="switch2Change" /></view></view></view></uni-list></uni-section></view></view>
</template><script>//必须独立出来写在script内,然后通过methods里面的控制方法来实现
const innerAudioContext = uni.createInnerAudioContext(); //引用组件
innerAudioContext.autoplay = false
innerAudioContext.src = 'https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-hello-uniapp/2cc220e0-c27a-11ea-9dfb-6da8e309e0d8.mp3';//音频用的官方的,可以参考官方文档
innerAudioContext.onPlay(() => {console.log('开始播23213放');
});
innerAudioContext.onStop(()=> {console.log('2222')
})
innerAudioContext.onError((res) => {console.log(res.errMsg);console.log(res.errCode);
});import {gzhtz,skyy} from '@/src/sknotice.js'export default {data() {return {gzhtz: gzhtz,skyy: skyy,}},methods: {switch1Change: function(e) {console.log('switch1 发生 change 事件,携带值为', e.detail.value)},//如果放在里面,会造成没运行一次,就会从switch2Change开始一直循环判断,会实现音频循环播放switch2Change: function(e) {console.log('switch2 发生 change 事件,携带值为', e.detail.value)if(e.detail.value==true){console.log('开始播放', innerAudioContext)innerAudioContext.play()} else {console.log('结束播放')innerAudioContext.stop()}}},beforeDestroy () {innerAudioContext = null}}
</script><style>.sknotice {background-color: #ffffff;margin-top: 20upx;}
</style>

2.mock数据

代码如下(示例):

export const gzhtz = [{tz:'公众号通知'},// {tznode:'公众号通知'},]
export const skyy = [{yy:'收款语音播报'},// {yynode:'公众号通知'},]

总结

以上就是今天要讲的内容,

uniapp音频的播放和暂停问题相关推荐

  1. vue3 + uni-app 封装音乐播放插件

    1.初始化一个音乐实例 let AUDIO = '' export const initAudio = function (url) {AUDIO = uni.createInnerAudioCont ...

  2. iOS 9音频应用播放音频之ios9音频基本功能

    iOS 9音频应用播放音频之ios9音频基本功能 在iOS 9音频应用开发中最为简单和常用的就是AVFoundation框架中的AVAudioPlayer类.虽然AVAudioPlayer类不能播放网 ...

  3. UE4-(蓝图)第二十五课音频的播放

    一..将音乐源文件拖到context的文件夹下.注意,虚幻引擎当前支持导入未压缩的小端字节16位wav文件(支持各种采样率,推荐采样率为44100 Hz或22050 Hz). 二.可以将导入的音乐直接 ...

  4. uniapp - [全端兼容] 音乐列表播放与切换歌曲,点击列表播放 mp3 wav 音乐文件(支持点击播放与暂停,图标切换 / 流畅的切换音频、暂停保留歌曲及恢复功能等详细教程)

    前言 网上教程都太乱了,各种不兼容.功能缺陷等问题,我们很难对示例进行改造. 本文站在新手角度,实现了 uniapp 全平台兼容,歌曲音乐列表点击播放与暂停.切换歌曲等功能(音乐列表多个音频切换), ...

  5. html javascript 音频、视频、 mp3 、mp4 的播放、暂停、重新播放、获取音频时长、视频自动全屏播放

    html javascript 音频.视频. mp3 .mp4 的播放.暂停.重新播放.获取音频时长 视频 https://www.bilibili.com/video/BV1WE411o7Ft?fr ...

  6. H5多媒体(用面向对象的方法控制视频、音频播放、暂停、延时暂停)

    视频,音频播放器会是我们在工作中用到的一些h5新标签,它自带一些属性,比如暂停播放,快进快退,但是,我们经常不用原生的样式或者方法,我们需要自定义这些按钮来达到我们需要的样式,也需要我们自定义来实现一 ...

  7. Android 入门第九讲01-音频(本地音乐播放,暂停,继续播放,获取播放时间,快进到指定位置,变速播放,播放data/data/目录下的音频文件,播放网络歌曲)

    Android 入门第九讲01-音频(本地音乐播放,暂停,继续播放,获取播放时间,快进到指定位置,变速播放,播放data/data/目录下的音频文件,播放网络歌曲) 准备 1.储存在raw文件夹 2. ...

  8. 关于微信、QQ语音消息,语音电话的时候控制应用音频播放以及暂停

    最近项目中有这样的需求,要求在用户使用QQ或微信在录制或播放语音消息的时候可以自动暂停后台的音频播放,完毕后可以恢复播放. Android是多任务系统,Audio系统是竞争资源,Android2.2之 ...

  9. uni-app 音频android只能播放一次

    原因: uni.createInnerAudioContext需要重新获取 我的错误写法是export default上面直接声明了 var innerAudioContext = uni.creat ...

最新文章

  1. 基于GeoMipmap的地形系统。
  2. Spring boot + Redis
  3. 报错整理:ImportError: cannot import name ‘mean_absolute_percentage_error‘ from ‘sklearn.metrics‘
  4. 在linuxc中如何实现输入隐藏
  5. 聊聊高并发(六)实现几种自旋锁
  6. linux 关掉蓝牙自动,如何在Ubuntu 14.04中默认关闭蓝牙,蓝牙
  7. ios程序 调试log宏的添加
  8. 【英语学习】【WOTD】smithereens 释义/词源/示例
  9. 如何在 GitHub 上面精准搜索开源项目?
  10. 英特尔开源技术中心招收ROS2高手两名
  11. html三级链表,二叉链表怎么画
  12. 刷题42-m升水倒入n个杯子(动态规划)
  13. 计算机公式除,Excel公式除法怎么用?教你四种使用方法
  14. selenium获取html源代码
  15. 苹果cms伪静态常见几种问题解决教程
  16. 【时间之外】做产品必须知道的SKU是什么?
  17. 秒懂 堆栈寻址 STMFA STMFD LDMFA LDMED( ARM中的汇编指令)
  18. 3D NAND 前沿
  19. 扒开ARM中断控制器的底裤来看看!
  20. 算法笔记(1)-常用推荐算法总结

热门文章

  1. android 视频分段录制,短视频录制,分段,回删,美颜,时长限制,分辨率,码率,压缩
  2. zipkin 简单使用
  3. oracle 服务器时间修改,oracle数据库服务器修改时间
  4. 成都拓嘉辰丰:如何利用拼多多客服提升店铺转化
  5. android点击按钮打开wifi或者关闭wifi
  6. 2008 POI各省类型 统计分析 2008poi 2008信息点
  7. 弘辽科技:一个实名能开几个淘宝店?开店有何规定?
  8. 读《从0开始学大数据》-- 学习笔记和感想随笔(一)
  9. 多选框 checked问题
  10. 最简单DIY基于ESP32CAM的物联网相机系统⑤(用1306OLED实现WIFI黑白屏照相机)