js通过音频链接获取音频时长

js通过音频链接获取音频时长

要在JavaScript中从音频链接获取音频文件的持续时间,您可以使用fetch API来检索音频文件,然后使用audio API来获取持续时间。例子:

function getAudioDuration(audioUrl) {return fetch(audioUrl).then((response) => response.arrayBuffer()).then((arrayBuffer) => {return new Promise((resolve, reject) => {const audio = new Audio();audio.src = URL.createObjectURL(new Blob([arrayBuffer]));audio.addEventListener('loadedmetadata', () => {resolve(audio.duration);audio.remove();});audio.addEventListener('error', () => {reject(new Error('Failed to get audio duration'));audio.remove();});document.body.appendChild(audio);});});
}// Example usage
const audioUrl = 'https://www.example.com/audio.mp3';
getAudioDuration(audioUrl).then((duration) => {if (duration) {console.log('Audio duration:', duration);} else {console.log('Failed to get audio duration');}}).catch((error) => {console.error(error);});

这个函数使用fetch API作为ArrayBuffer来检索音频文件,然后使用URL.createObjectURL创建一个新的音频元素,其中包含音频数据。当loaddmetadata事件被触发时,它会解析带有音频持续时间的Promise,如果有错误,它会用错误拒绝Promise。

与视频示例一样,Audio元素的duration属性以秒为单位,因此如果需要,您可能希望将其转换为更易于阅读的格式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/837115.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#语言进阶

一、简单数据结构类 1. ArrayList ArrayList是一个 C# 为我们封装好的类,它的本质是一个 object 类型的数组。ArrayList类帮助我们实现了很多方法,比如数组的增删查改 1.1 声明 using System.Collections;ArrayList array new ArrayList(); 1.2 增…

利用光学和SAR数据进行亚马逊热带雨林监测

亚马逊热带雨林,670万平方公里,物种丰富,森林历史悠久。巴西环保局用光学和SAR数据进行森林监测,主要监测森林砍伐范围、人为破坏、非法采矿和隐蔽的飞机跑道。 图 2011年12月森林砍伐范围 在SAR强度数据上,被砍伐的森…

Java 实现Mybatis plus 批量删除

数据库实体字段并不映射的情况&#xff0c;直接请求体集合接收。 PostMapping("/removeIdsInfo")public R<Void> removeIdsInfo(RequestBody List<Integer> ids) {return exStudentService.removeIdsInfo(ids);} /**** 学生模块根据集合id 批量删除数据*…

HUE工具介绍使用

一、HUE工具介绍使用 HUE是CDH提供一个hive和hdfs的操作工具&#xff0c;在hue中编写了hiveSQl也可以操作hdfs的文件 http://hadoop01:9870 hdfs的web访问端口 hdfs://hadoop01:8020 hdfs的程序访问端口 进入hue

【Linux】了解信号产生的五种方式

文章目录 正文前的知识准备kill 命令查看信号man手册查看信号信号的处理方法 认识信号产生的5种方式1. 工具2. 键盘3. 系统调用kill 向任意进程发送任意信号raise 给调用方发送任意信号abort 给调用方发送SIGABRT信号 4. 软件条件5. 异常 正文前的知识准备 kill 命令查看信号 …

虚拟机桥接模式连接失败解决方案

问题&#xff1a; 虚拟机之前使用一直没有问题&#xff0c;某次开机后不能正常使用桥接模式了&#xff0c;确认防火墙等相关都已关闭设置好。 解决方案&#xff1a; 添加新的网络适配器后&#xff0c;改成桥接模式&#xff0c;然后保存后重新打开&#xff0c;可以正常使用

如何把一个ViewController加到另一个ViewController上

1.上代码&#xff1a; MyFriendViewController*myFriendVc [MyFriendViewController new]; [self addChildViewController:myFriendVc]; myFriendVc.view.frame self.view.bounds; [self.view addSubview:myFriendVc.view]; self.navigationItem.rightBarButtonItem my…

六、Web开发与MVC框架( ASP.NET基础)

在C#中&#xff0c;Web开发通常与ASP.NET框架相关。ASP.NET是一个用于构建Web应用程序和Web服务的框架&#xff0c;它允许开发人员使用多种编程语言&#xff08;包括C#&#xff09;来创建动态Web页面、Web API、Web服务和实时Web应用程序。 MVC&#xff08;Model-View-Control…

Ubuntu22.04怎么安装cuda11.3

环境&#xff1a; WSL2 Ubuntu22.04 问题描述&#xff1a; Ubuntu22.04怎么安装cuda11.3 之前是11.5 解决方案&#xff1a; 在Ubuntu 22.04上安装CUDA 11.3需要一些步骤&#xff0c;因为CUDA 11.3不是为Ubuntu 22.04官方支持的版本。但是&#xff0c;您仍然可以通过以下步…

“圣诞树图案的打印~C语言”

圣诞树图案的打印~C语言 题目原文&#xff1a;[圣诞树](https://www.nowcoder.com/practice/9a03096ed8ab449e9b10b0466de29eb2?tpId107&rp1&ru/ta/beginner-programmers&qru/ta/beginner-programmers/question-ranking&difficulty&judgeStatus&tags&…

IT行业现状洞察与未来趋势展望

随着科技的快速发展&#xff0c;IT行业已经深入到社会的各个角落&#xff0c;极大地改变了我们的工作和生活方式。本文将对IT行业的现状进行深入分析&#xff0c;并展望其未来的发展趋势。 一、IT行业现状 技术创新加速&#xff1a;云计算、大数据、人工智能、物联网、区块链…

牛客华为机试题——难度:入门(python实现)

HJ7 取近似值 HJ9 提取不重复的整数 HJ46 截取字符串 HJ58 输入n个整数&#xff0c;输出其中最小的k个 HJ101 输入整型数组和排序标识&#xff0c;对其元素按照升序或降序进行排序 HJ7 取近似值 描述&#xff1a;写出一个程序&#xff0c;接受一个正浮点数值&#xff0c;输…

分布式与一致性协议之常见疑惑(一)

常见疑惑 什么是线性一致性 线性一致性(Linearizability),也称为原子性或强一致性&#xff0c;是分布式系统中的一个一致性模型&#xff0c;它定义了系统对读写操作的行为&#xff0c;以确保系统表现得好像只有一个数据副本&#xff0c;并且所有操作都是原子的。 在线性一致性…

数据赋能(87)——数据要素:管理原则与原理

数据要素管理应遵循以下原则&#xff1a; 安全性原则&#xff1a;确保数据的安全性和隐私保护&#xff0c;防止数据泄露和滥用。准确性原则&#xff1a;保证数据的准确性和完整性&#xff0c;避免数据错误和误导。合规性原则&#xff1a;遵守相关法律法规和行业标准&#xff0…

运维安全管理系统:“四集中”管理 解决迫切问题

日前&#xff0c;国内专注于保密与非密领域的分级保护、等级保护、业务连续性安全和大数据安全产品解决方案与相关技术研究开发的领军企业——国联易安依托自身强大的研发能力&#xff0c;丰富的行业经验&#xff0c;自主研发了新一代软硬件一体化统一安全运维平台——国联易安…

【单片机调试】mcu调试bug记录

【单片机调试】mcu调试bug记录 2023.5-2023.11待输入 2023.12-2023.22024.3-至今1.spi通信问题 2023.5-2023.11 待输入 2023.12-2023.2 辞职阶段&#xff1a;【STM32调试】寄存器调试不良问题记录持续版 2024.3-至今 1.spi通信问题 现象说明&#xff1a; mcu与afe芯片为spi通…

JAVA智慧工地管理系统源码,智慧工地扬如何实现对工地扬尘的实时监测

智慧工地扬尘监测系统概述 智慧工地扬尘监测系统是一种利用现代信息技术&#xff0c;如光电传感技术和无线传输技术&#xff0c;对工地扬尘污染进行实时监测和管理的高效工具。该系统的目的是为了保护环境&#xff0c;减少因建筑施工产生的扬尘对周边地区的影响&#xff0c;同…

灵卡 LCC262 高性能多功能数字视频和音频一体式采集卡详尽解读

一、前言 作为计算机视觉技术解决方案提供商——灵卡&#xff08;LingCard&#xff09;公司推出的新一代超群性能采集卡—— LCC262&#xff0c;以其卓越的性能表现和丰富多样的功能特性&#xff0c;为广大用户带来了前所未有的视频和音频处理体验。本文旨在对该产品进行详细解…

python从零开始学习深度学习01——神经网络反向传播的链式求导

自我介绍 最懂保险的算法工程师&#xff0c;致力于保险理念的推广&#xff0c;让每个程序员在35岁时都能够免除后顾之忧。通过构建保险组合&#xff0c;避免中年因病致穷&#xff0c;苦攒多年积蓄全部花费在医疗上&#xff0c;因此返贫。有兴趣的朋友后台私信加V&#xff1a;A…

python内置类bytearray()详解

bytearray 是 Python 的一个内置类&#xff0c;它提供了一个可变序列的字节数组。 bytearray 数组的元素必须是0-255之间的整数&#xff0c;这些整数对应于ASCII字符集中的数字。下面着张图是部分ASCII字符&#xff1a; bytearray 是可变的&#xff0c;可修改其内容&#xff0c…