当前位置: 首页 > news >正文

uniapp简单版语音播放

mounted() {this.ScanAudio('http://118.178.137.235:88/ipoker.mp3', 3); // 开始播放音频},ScanAudio(url, count) {// 递归终止条件:当循环次数小于等于 0 时,停止递归if (count <= 0) return;// 创建内部音频上下文对象var music = uni.createInnerAudioContext();// 设置音频资源链接music.src = url;// 开始播放音频music.play();// 监听音频播放结束事件music.onEnded(() => {// 销毁音频上下文对象,以释放资源music.destroy();// 在音频播放结束后,延迟一定时间后重新调用 ScanAudio 函数进行循环播放setTimeout(() => {// 递减循环次数,继续下一次播放循环this.ScanAudio(url, count - 1);}, music.duration * 1000); // 延迟时间等于音频时长乘以 1000 毫秒});
}

说明

  1. 当调用 ScanAudio(url, count) 时,它首先检查循环次数 count 是否小于等于 0。如果是,表示递归终止条件已满足,停止递归。

  2. 如果循环次数不小于等于 0,函数会创建一个内部音频上下文对象 music,然后设置该音频的资源链接为提供的 url

  3. 调用 music.play() 开始播放音频。

  4. 监听 music.onEnded 事件,当音频播放结束时触发。在此事件处理程序中,会先销毁音频上下文对象以释放资源,然后根据音频的时长乘以 1000 毫秒(即延迟一段时间)重新调用 ScanAudio 函数,实现循环播放。循环次数减少 1,从而控制循环次数。

后端传给多个语音如何播放

<template><view class="content">1212</view>
</template><script>
export default {data() {return {};},mounted() {const audioUrls = ['http://118.178.137.235:88/ipoker.mp3', 'http://118.178.137.235:88/ipoker.mp3', 'http://118.178.137.235:88/ipoker.mp3'];// 开始按顺序播放音频this.playSequentialAudioWithFixedDelay(audioUrls, 0, 3);},methods: {playSequentialAudioWithFixedDelay(urls, currentIndex, delayInSeconds) {if (currentIndex >= urls.length) {return;}const music = uni.createInnerAudioContext();music.src = urls[currentIndex];music.play();music.onEnded(() => {music.destroy();setTimeout(() => {this.playSequentialAudioWithFixedDelay(urls, currentIndex + 1, delayInSeconds);}, delayInSeconds * 1000);});}}
};
</script><style>
/* 样式省略 */
</style>

 

相关文章:

uniapp简单版语音播放

mounted() {this.ScanAudio(http://118.178.137.235:88/ipoker.mp3, 3); // 开始播放音频},ScanAudio(url, count) {// 递归终止条件&#xff1a;当循环次数小于等于 0 时&#xff0c;停止递归if (count < 0) return;// 创建内部音频上下文对象var music uni.createInnerAu…...

前端三剑客入门一文解决

文章目录 HTML快速开发网站Flask页面结构标签基础标签超链接图片列表下拉框表格input系列多行文本form表单 网络请求HTML案例 CSSCSS盒模型CSS样式定义CSS选择器 CSS样式使用1. 在标签上直接写2. 在head标签中写3.写到css文件中 标签样式1. 高度和宽度2. 块级和行内标签3.字体设…...

php curl apache 超时 500错误

web请求超过40s 就返回500错误 php的超时时间 set_time_limit无效 curl CURLOPT_TIMEOUT 设置请求时间 无效 设置apache Timeout 链接超时 无效 最后添加 Fcgid才可以 apache 配置文件 httpd.conf <IfModule mod_fcgid.c>FcgidProcessLifeTime 10000FcgidIOTimeout 1000…...

ValueError: too many values to unpack (expected 4)

ValueError: too many values to unpack (expected 4)这个错误通常是由于解包赋值个数与返回值个数不匹配所致。 比较常见的情况是: 1.在数据预处理函数中,使用train_test_split对数据进行分割后返回值,但解包赋值时个数与返回值不匹配。 train_test_split返回的就是(X_trai…...

学习Vue过程中遇到的问题汇总

Vue 控制台出现You are running Vue in development mode. Make sure to turn on production mode when deploying for production. 在页面的body标签或head标签中加入如下代码 <script type"text/javascript">Vue.config.productionTip false</script>…...

cloud_mall-notes03

请求方式GetMapping&#xff08;11&#xff09;用途方法返回值GetMapping(“info”)查询管理员信息getByIdsysUserGetMapping(“info/{userId}”)查询管理员详情getByIdsysUserGetMapping(“info/{roleId}”)查询角色详情getByIdsysRoleGetMapping(“info/{categoryId}”)根据标…...

Redis注入中出现的问题

Redis注入中出现的问题 出现的问题 Error starting ApplicationContext. To display the conditions report re-run your application with debug enabled. 2023-08-23 16:38:42.294 ERROR 32136 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : *********…...

机器学习实战之模型的解释性:Scikit-Learn的SHAP和LIME库详解

引言&#xff1a;机器学习模型的“黑箱”困境 机器学习模型的崛起让我们惊叹不已&#xff01;不论是预测房价、识别图片中的猫狗&#xff0c;还是推荐给你喜欢的音乐&#xff0c;这些模型都表现得非常出色。但是&#xff0c;有没有想过&#xff0c;这些模型到底是如何做出这些决…...

【网络安全】防火墙知识点全面图解(二)

本系列文章包含&#xff1a; 【网络安全】防火墙知识点全面图解&#xff08;一&#xff09;【网络安全】防火墙知识点全面图解&#xff08;二&#xff09; 防火墙知识点全面图解&#xff08;二&#xff09; 21、路由器的访问控制列表是什么样的&#xff1f;22、防火墙的安全策…...

【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(8 月 14 日论文合集)

文章目录 一、检测相关(7篇)1.1 Continual Face Forgery Detection via Historical Distribution Preserving1.2 Exploring Predicate Visual Context in Detecting of Human-Object Interactions1.3 Out-of-Distribution Detection for Monocular Depth Estimation1.4 Cyclic-…...

自学设计模式(类图、设计原则、单例模式 - 饿汉/懒汉)

设计模式需要用到面向对象的三大特性——封装、继承、多态&#xff08;同名函数具有不同的状态&#xff09; UML类图 eg.—— 描述类之间的关系&#xff08;设计程序之间画类图&#xff09; : public; #: protected; -: private; 下划线: static 属性名:类型&#xff08;默认值…...

python爬虫10:selenium库

python爬虫10&#xff1a;selenium库 前言 ​ python实现网络爬虫非常简单&#xff0c;只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点&#xff0c;方便以后复习。 申明 ​ 本系列所涉及的代码仅用于个人研究与讨论&#xff0c;并不会对网站产…...

c++ java rgb与nv21互转

目录 jni函数 c++ rgb转nv21,可以转,不报错,但是转完只有黑白图 java yuv420保存图片,先转nv21,再保存ok: c++ yuv420月bgr互转,测试ok jni函数 JNIEXPORT void JNICALL Java_com_tencent_blazefacencnn_BlazeFaceNcnn_encode(JNIEnv *env,jobject thiz, jobject in…...

多视图聚类(multi-view clustering)简介

多视图聚类 目前大概有以下几种&#xff1a; 多视图k-means聚类多视图谱聚类多视图图聚类多视图子空间聚类 (multi-view subspace clustering)深度学习多视图聚类 (deep multi-view clustering) 其中多视图子空间聚类具有不错的数据表征能力。 对于多视图子空间聚类而言&…...

wazhu配置以及漏洞复现

目录 1.wazhu配置 进入官网下载 部署wazhu 修改网络适配器 重启 本地开启apache wazhu案例复现 前端页面 执行 1.wazhu配置 进入官网下载 Virtual Machine (OVA) - Installation alternatives (wazuh.com) 部署wazhu 修改网络适配器 重启 service network restart 本地…...

javaweb项目部署linux服务器遇到的问题

其他有关本次部署内容请参考本站其他文章 javaweb项目要用war包 IntelliJ IDEA 可以打包out里的子目录 D:\D盘文件\浏览器\webshop\out\artifacts\webshop_war_exploded>jar cvf webshop.war * 方法来源视频 18、web项目的打包与发布_哔哩哔哩_bilibili myeclipse项目…...

【数据结构OJ题】环形链表

原题链接&#xff1a;https://leetcode.cn/problems/linked-list-cycle/description/ 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 整体思路&#xff1a;定义快慢指针fast&#xff0c;slow&#xff0c;如果链表确实有环&#xff0c;fast指针一定会…...

PySpark-核心编程

2. PySpark——RDD编程入门 文章目录 2. PySpark——RDD编程入门2.1 程序执行入口SparkContext对象2.2 RDD的创建2.2.1 并行化创建2.2.2 获取RDD分区数2.2.3 读取文件创建 2.3 RDD算子2.4 常用Transformation算子2.4.1 map算子2.4.2 flatMap算子2.4.3 reduceByKey算子2.4.4 Wor…...

vue 在IOS移动端中 windon.open 等跳转外部链接后,返回不触发vue生命周期、mounted等相关事件-解决方法

做了一个列表的h5页面&#xff0c;通过点击列表跳转到外部链接&#xff0c;然后返回是回到原来页面状态&#xff0c;类似缓存。发现在ios端返回后&#xff0c;vue 的mounted() 、create()、路由监听等方法都不会执行。在安卓和pc 端都能正常调用。 解决方案&#xff1a;监听pa…...

股票预测和使用LSTM(长期-短期-记忆)的预测

一、说明 准确预测股市走势长期以来一直是投资者和交易员难以实现的目标。虽然多年来出现了无数的策略和模型&#xff0c;但有一种方法最近因其能够捕获历史数据中的复杂模式和依赖关系而获得了显着的关注&#xff1a;长短期记忆&#xff08;LSTM&#xff09;。利用深度学习的力…...

Windows远程桌面终极解锁指南:RDP Wrapper Library完整使用教程

Windows远程桌面终极解锁指南&#xff1a;RDP Wrapper Library完整使用教程 【免费下载链接】rdpwrap RDP Wrapper Library 项目地址: https://gitcode.com/gh_mirrors/rd/rdpwrap 还在为Windows家庭版无法使用远程桌面功能而烦恼吗&#xff1f;RDP Wrapper Library是您…...

Animockup代码实现分析:深入理解Canvas录制和视频转换技术

Animockup代码实现分析&#xff1a;深入理解Canvas录制和视频转换技术 【免费下载链接】animockup Create animated mockups in the browser &#x1f525; 项目地址: https://gitcode.com/gh_mirrors/an/animockup Animockup是一个强大的开源项目&#xff0c;它允许用户…...

如何在 Node.js 项目中快速使用 module-alias:10分钟入门教程

如何在 Node.js 项目中快速使用 module-alias&#xff1a;10分钟入门教程 【免费下载链接】module-alias Register aliases of directories and custom module paths in Node 项目地址: https://gitcode.com/gh_mirrors/mo/module-alias 在 Node.js 开发中&#xff0c;你…...

Polar SI9000实战:从叠层规划到阻抗计算,一次讲清四层板到八层板的阻抗控制核心

Polar SI9000实战&#xff1a;从叠层规划到阻抗计算&#xff0c;一次讲清四层板到八层板的阻抗控制核心 在高速PCB设计中&#xff0c;阻抗控制早已从"锦上添花"变成了"不可或缺"的基础要求。无论是USB3.0的90欧姆差分对&#xff0c;还是DDR4的40欧姆单端走…...

NotebookLM概念关联分析全链路解析,从原始文本到可验证知识网络的6大断点与修复方案

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM概念关联分析全链路解析概览 NotebookLM 是 Google 推出的基于 LLM 的实验性研究辅助工具&#xff0c;其核心能力在于对用户上传的文档&#xff08;PDF、TXT、网页等&#xff09;进行语义理…...

企业邮箱代理:谷歌企业邮箱安全防护架构与合规应用解析

前言谷歌企业邮箱凭借全球通用 IP 信誉、海外节点覆盖广等优势&#xff0c;成为外贸企业对接欧美、东南亚海外客户的首选办公邮箱。但国内企业直接使用&#xff0c;容易出现登录卡顿、邮件发送延迟、大批量开发信被限制等问题&#xff0c;做好针对性优化&#xff0c;才能最大化…...

瑞芯微(EASY EAI)RV1126B TF卡电路

1. TF卡电路RV1126B核心板集成了1个SDMMC控制器和1个SDIO控制器&#xff0c;均可支持SDIO3.0协议&#xff0c;以及MMC V4.51协议。4线的数据总线宽度支持SDR104模式&#xff0c;速率达到200MHz。SDMMC控制器是由PMIC单独供电&#xff0c;可以动态的在1.8V和3.3V之间调节&#x…...

从码农到技术总监:10年程序员的职业进化史

一、初入职场&#xff1a;在代码与bug中蹒跚学步2016年的夏天&#xff0c;我背着双肩包&#xff0c;攥着毕业证&#xff0c;走进了一家中型软件公司的大门&#xff0c;成为了一名Java开发程序员&#xff0c;也就是别人口中的“码农”。那时候&#xff0c;我的生活被代码和bug填…...

如何成为年薪百万的AI算法工程师?字节跳动AI Lab的内部指南

一、破局&#xff1a;软件测试从业者的AI算法工程师转型契机 在AI技术浪潮的席卷下&#xff0c;软件测试行业正经历着深刻变革&#xff0c;同时也为从业者打开了通往AI算法工程师领域的大门。2026年数据显示&#xff0c;AI在测试行业的渗透率已超40%&#xff0c;新发AI测试岗位…...

告别CodeBlocks!在VScode里用CMake+MinGW搞定LVGL模拟器(附SDL2配置避坑指南)

从CodeBlocks到VScode&#xff1a;打造LVGL模拟器的现代化开发体验 在嵌入式GUI开发领域&#xff0c;LVGL以其轻量级和丰富的功能组件赢得了众多开发者的青睐。然而&#xff0c;官方推荐的CodeBlocks开发环境却让不少习惯了现代IDE的开发者感到不适——界面陈旧、插件生态有限、…...