问题标签 [javascript-audio-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
963 浏览

javascript - 在 JavaScript 中从音频中删除静音

我想用 JavaScript 制作一个网络应用程序,用户从麦克风录制声音,然后应用程序修剪录音的无声部分,所以只剩下声音。

请注意,静音部分可能不会完全静音,因为声音是从麦克风录制的,因此可能会有一些背景噪音。但是那种噪音会比讲话安静得多。

我需要一些关于如何做到这一点的指导。一些类似的例子会很好。如果不是在 JavaScript 中,而不是在任何语言中,那么我可以得到一个想法。


编辑:我已经使用 Web Audio API 处理了录音部分。我只需要修剪的帮助。

0 投票
2 回答
3204 浏览

javascript - 使用 javascript 解析和显示 HTML 音频当前时间

我正在开发一个纯 JavaScript + HTML 音频播放器,此时我想构建一个界面,以“MM:SS”的形式显示音频的当前时间。对于我可以搜索的内容,HTML 音频/视频 DOM 参考只有一个本机函数 -audio|video.currentTime以秒为单位返回当前音频时间,具有较大的小数精度。

为了做到这一点,我编码:

HTML

JavaScript

我尝试了很多东西,但我无法按照我想要的方式格式化输出。希望你们中的一些人可以对此有所了解。

Codepen 示例

0 投票
0 回答
434 浏览

javascript - 无法解决javascript的音频搜索

我正在使用 HTML 和 JavaScript 制作音频播放器。我也在使用 Bootstrap,但是当我想寻找播放器的音频时,连接 Bootstrap 时寻找不起作用。没有 Bootstrap 寻求作品。请帮我弄清楚如何寻找音频。

这是我的index.html

0 投票
0 回答
292 浏览

javascript - Phonegap Cordova 录制音频获取原始数据数组缓冲区

我想在 phonegap 中的 android 上录制音频并获得从 -1 到 1 的浮点数组。

我已经尝试过 Media 插件,但我认为它不能让您访问原始音频数据数组。

我尝试将音频录制到文件(通过媒体插件),然后通过 XHR 使用 arraybuffer 类型加载它,但我收到错误 decodeAudioData 错误“无法解码音频数据”。但是我可以加载我从互联网上下载的其他 wav 文件,只是没有录制的。我认为这是同一个问题https://bugs.chromium.org/p/chromium/issues/detail?id=482934

我试过不使用插件,只使用 navigator.getUserMedia 进行录制,这适用于移动 chrome,但不能在 phonegap 中的同一设备上使用(我想这就是插件存在的原因)

0 投票
1 回答
1080 浏览

javascript - 从 MediaRecorder 播放 blob 流?

我想播放来自 MediaRecorder 的音频 blob 流
我有一个包含这段 javascript 角度代码的网站:

在此处输入图像描述 这是类型为https://developer.mozilla.org/nl/docs/Web/API/MediaRecorder的 MediaRecorder

在此处输入图像描述

这会将来自 MediaRecorder 的数据以“audio/webm”格式发送到服务器

服务器:

在此处输入图像描述

所有这些都是将从 MediaRecorder 传入的 blob 中继到所有连接的客户端

应用程序(连接的客户端)

在此处输入图像描述

此控制台记录:

在此处输入图像描述

和:

在此处输入图像描述

如何在客户端播放此音频 blob 流?

0 投票
1 回答
98 浏览

javascript - Force Audio library in JS to load

I want to get Audio Length without having to play then pause then play again for getting the audio length/duration?

The function called will be: this.createRangeElement

But for some reason it outputs "NaN", so how would I force the Audio to render?

0 投票
0 回答
469 浏览

javascript - 为什么这个简单的 ScriptProcessorNode 有这么多延迟?

我遇到了 ScriptProcessorNode 和滞后的问题。即使是在做一个非常简单的过程,只需要样本并执行x %= 0.35. 为什么这个简单的 ScriptProcessorNode(包括在下面)有这么多延迟?

MDN 没有提及延迟:https ://developer.mozilla.org/en-US/docs/Web/API/ScriptProcessorNode

另外,我知道 ScriptProcessorNode 很快就会被弃用,但 audioWorklets 还没有实现,所以这是最好的。

0 投票
1 回答
4081 浏览

javascript - Javascript 可以检测移动设备是否静音?

当用户正确/错误地回答问题时,我的网站正在播放声音。但我注意到在我的平板电脑 (iPad) 和移动设备 (iPhone) 上,即使我将其置于静音模式,它也会播放声音。当用户明确将其设备设置为静音模式(铃声)时,我不希望手机/平板电脑播放声音。那么,我可以检测设备是否静音/静音然后不播放任何声音吗?我在 Safari 和 Chrome 上进行了测试,它总是播放声音,不管铃声的状态如何。

编辑:如果无法阅读此信息,那么我的问题是,是否有一种播放声音的方法可以尊重用户的静音偏好?我正在使用 jQuery 的$("#correctsound").trigger('play'),显然这不尊重这些设置。我们是否有考虑这些设置的不同方式来播放声音?

0 投票
1 回答
821 浏览

javascript - Javascript 音频无法在 iOS 上与 React 和 Socket.io 一起正常工作

我正在创建一个使用 React 和 Socket.io 的简单 Web 应用程序。原理是连接了两个设备,它们只发送“转到此视图”类型的消息,然后反应渲染就好了。

我遇到的问题是在视图更改时使用 javascript 播放音频剪辑。当我单击 iPad 上更改视图的按钮时,音频开始播放得很好,但是当视图更改由另一台设备通过 websocket 连接启动时,音频将无法播放。

所有这些在桌面 Chrome 和 Safari 上都可以正常工作。这不适用于运行 iOS 9.3.5 的 iPad 或运行 iOS 11.0.1 的 iPhone(已测试 safari 和 chrome)

这是播放音频文件的代码:

这是呈现一个按钮的代码,该按钮也调用playSound

套接字连接仅setState()在具有正确view.

编辑:忘了补充一点,我也尝试MutationObserver在所有打开的主要元素上使用,但仍然一无所获。

附言。我知道这里有十亿件事情做得不好,请耐心等待。

0 投票
1 回答
61 浏览

javascript - 在链 JavaScript 中重现 4 个声音

我有一系列如下所示的音频:

我需要重现这 4 个音频,每个人一个接一个地重现 1 秒。

这就是我所做的,我真的不喜欢它,它有效,但有更好的方法吗?因为我一直在寻找看起来更优雅的东西,但我还没有找到。