如何设置音频时长

2024-01-15

我正在尝试使用音频的 HTML DOM 持续时间属性设置音频标签的持续时间。

我已尝试以下方法,但似乎不起作用:$('audio')[0].duration = 1;

我已经浏览了其他答案,但我看不到任何使用持续时间属性的答案。

如果持续时间属性是只读的,它还给我留下了什么其他方法?


您无法更改持续时间,因为它被锁定到原始数​​据(无法通过音频元素更改)。

您可以通过监视时间并在阈值启动时暂停音频来限制播放,从而实现不同持续时间的错觉:

  • Use the timeupdate event http://www.w3.org/2010/05/video/mediaevents.html并检查currentTime反对你的门槛
  • 您还可以使用requestAnimationFrame https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame轮询相同的值并进行相同的检查
  • 或者,为了获得超准确的计时,您需要使用网络音频API https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API,为音频创建一个音频缓冲区,然后使用首选时间的开始/停止。这将需要满足 CORS 要求

在加载方面,浏览器可能会加载整个文件。如果你想控制这部分你必须使用媒体源扩展 https://w3c.github.io/media-source/它允许您控制缓冲过程。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何设置音频时长 的相关文章

随机推荐

  • Fortran 中 DIMENSION CLIPG(1) 语句的概念理解

    在处理一些遗留代码时 我发现了以下 Fortran 函数声明 下面的代码片段显示了函数声明和参数声明 我相信 Fortran 是一种不区分大小写的语言 SUBROUTINE CLIP2G fcut TIME NUMS NUMG CLIPG
  • 重写方法时访问说明符

    假设您有一个使用访问说明符 public 定义虚拟方法的类 您可以更改重写方法上的访问说明符吗 我假设不会 寻找解释 答案是 有点 您只能更改派生类有权访问的成员的访问权限 继承类型没有任何影响 这只控制继承成员的默认访问权限 在某种程度上
  • 使用 vb6 连接字符串

    我正在尝试在 vb6 中连接 不支持运算符 我想做类似下面代码的操作 我想在程序处理此代码时向文本框添加更多字符串 谁能建议将 更改为什么 我知道将一个字符串添加到另一个字符串时可以使用 但就我在这里正在处理的示例而言 这似乎不合适 Tha
  • Java 1.8 和 Mockito 1.9.5 出现编译错误

    切换到Java 1 8后 JDK 我的一些测试类无法编译 实现类示例 import java util concurrent Callable import java util concurrent Future public class
  • 基于类的视图上的 Django 表单验证

    我有一个非常简单的基于类的视图 在views py中 class IncidentEdit UpdateView model Incident fields visible field list sucess url status 按原样工
  • 如何为 Djoser 电子邮件使用不同的域?

    如何更改电子邮件 djoser 内的链接发送使用的域 我发现 要更改链接域 您需要将 DOMAIN 和 SITE NAME 添加到项目设置中 例子 DOMAIN config DOMAIN example com SITE NAME con
  • 使用 Python 从图像创建数据集以进行人脸识别

    我正在尝试用 Python 编写一个人脸识别程序 我将应用 k nn 算法进行分类 首先 我将图像转换为灰度 然后使用图像的像素 总共 128x128 16384 个特征 创建一个长列向量 通过使用 Opencv 的 imagedata 函
  • 如何更改基于 autotools 的 Bitbake 配方的安装路径?

    我有一个基于自动工具的 BitBake 配方 我想将其安装在其中 usr local bin和安装的库 usr local lib 代替 usr bin and usr lib 这是默认目标目录 这是其中的一部分autotools bbcl
  • Ansible vars_prompt 角色

    我有一套Ansibleplaybooks 和主 yml 文件是这样的 hosts all roles common install nginx 我想在触发剧本时添加确认消息 我尝试了这个但没有成功 hosts all vars prompt
  • 为什么没有 2 字节浮点并且已经存在实现?

    假设我真的内存不足并且想要更小的范围 类似于short vs int 着色器语言已经支持half对于半精度的浮点类型 不仅仅是来回转换使值在 1 和 1 之间 即返回一个像这样的浮点数 shortComingIn maxRangeOfSho
  • Spring管理事务@Transactional注解

    传播设置是必需的 Transactional propagation Propagation REQUIRED 事务是读 写的 它们在什么场景下使用 请给我举例说明 Spring事务默认是 Transactional propagation
  • Mapkit 引脚颜色未改变

    我正在执行以下操作并始终获得绿色引脚 pin pinColor MKPinAnnotationColorRed self mapView addAnnotation pin pin release pin 的类型为 NSObject 所有引
  • 从 python 列表对象和单引号中删除前缀

    这是我的清单 Volume vol b81a2cb0 Volume vol ab2b1ba3 Volume vol fc2c1cf4 我希望它看起来像这样 vol b81a2cb0 vol ab2b1ba3 vol fc2c1cf4 所以应
  • 如何创建具有不同线型的主网格线和次网格线

    我目前正在使用matplotlib pyplot创建图表 并希望主要网格线为实线和黑色 次要网格线为灰色或虚线 在网格属性中 which both major mine 然后简单地通过 linestyle 定义颜色和线型 有没有办法只指定次
  • 在 jQuery 中做什么...... var myVar = $( [] ); ......做?

    var myVar 这个 jQuery 是做什么的 它是否将变量初始化为空的 jQuery 集 我搜索了 jQuery 文档 但没有找到此语法的解释 摘自 jQuery 文档http api jquery com jQuery http a
  • 仅适用于 Word 桌面版的 Office 加载项

    我正在开发 Word 加载项 并且使用 Word Online 中仍然不支持的内容控件编辑 我还使用 Word Online 中也不支持的 Binding bindingDataChanged 事件 如果没有使用这些功能的功能 则该加载项对
  • jQuery:添加元素直到达到特定高度

    我左边有一个专栏 里面有几篇文章 该高度是动态的 并根据发布的内容而变化 我的右侧有一列通常较短 我拉出 3 个大元素 然后拉出另外 5 个小元素 我想用额外的元素填充右列 直到它接近左列的高度 所以我拉出所有大元素 3 并假设它比左边短
  • 当我切换设备时 Android Logcat 不显示日志

    我正在尝试使用 Logcat 来帮助诊断我的 Android 问题 我经常插入手机并运行模拟器 有时我在模拟器上调试 有时我在手机上调试 甚至可能在第三个设备上调试 设备切换后 Logcat 不会继续显示消息 如何指定 Logcat 的功能
  • 为什么 Haskell 中没有 `Cofunctor` 类型类?

    单子得到fmap from Functor类型类 为什么 comonad 不需要cofmap方法定义在Cofunctor class Functor定义为 class Functor f where fmap a gt b gt f a g
  • 如何设置音频时长

    我正在尝试使用音频的 HTML DOM 持续时间属性设置音频标签的持续时间 我已尝试以下方法 但似乎不起作用 audio 0 duration 1 我已经浏览了其他答案 但我看不到任何使用持续时间属性的答案 如果持续时间属性是只读的 它还给