问题标签 [audio]

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 投票
3 回答
11606 浏览

winapi - 如何播放标准的 Windows 声音?

如何找出用户在控制面板中配置了哪些声音文件?

示例:我想播放“设备已连接”的声音。

哪个API可以用来查询控制面板声音设置?

我看到第三方程序在控制面板对话框中有一些自定义条目,因此必须有一种方法让这些程序与全局声音设置进行通信。

编辑:谢谢。我不知道 PlaySound 在指定注册表项的名称时也只是播放了适当的声音文件。

播放“设备已连接”声音:

0 投票
8 回答
44135 浏览

c# - 来自实时音频输入的每分钟节拍数

我想编写一个简单的 C# 应用程序来监视线路输入音频并给我当前(好吧,滚动平均)每分钟节拍。

我看过这篇 gamedev 文章,这绝对没有帮助。我经历并试图实施他正在做的事情,但它只是没有用。

我知道必须有大量的解决方案来解决这个问题,因为很多 DJ 软件都可以做到,但我没有找到任何开源库或自己做的说明。

0 投票
1 回答
5256 浏览

windows - 在控制面板中添加我自己的应用程序事件 -> 声音

我刚刚阅读了这个问题,我真的很喜欢这个问题的答案。很自然地,一个有趣的问题出现在我的脑海里……

如何在控制面板 -> 声音和音频设备 -> 声音 -> 程序事件中添加我自己的事件(我自己的应用程序)?

另一个相关的问题,我想也应该在这里回答......当我的应用程序中的事件发生时,我如何播放控制面板中指定的那些声音?

0 投票
8 回答
1059 浏览

html - 网页加载时发出 2 个或更多短促的声音

我有 6 个声音文件(1.wav 2.wav 等),每次打开网页时都必须听到其中 3 个不同的声音文件。数字是随机选择的。我尝试了多个“嵌入”,但只产生了最后一个选择的声音。我也尝试过修改 bgsound 属性的 javascript 例程,但是,我一次无法产生多个声音。声音需要在页面打开时自动播放,或者可以通过单击按钮或链接触发,但是,三种声音只能单击一次。还有另一种方法可以做到这一点吗?非常欢迎提出建议。

0 投票
15 回答
55891 浏览

c# - How can I determine the length (i.e. duration) of a .wav file in C#?

In the uncompressed situation I know I need to read the wav header, pull out the number of channels, bits, and sample rate and work it out from there: (channels) * (bits) * (samples/s) * (seconds) = (filesize)

Is there a simpler way - a free library, or something in the .net framework perhaps?

How would I do this if the .wav file is compressed (with the mpeg codec for example)?

0 投票
5 回答
1220 浏览

c# - Vista 上的 SoundPlayer 崩溃

以下代码导致 Vista 机器上的间歇性崩溃。

我高度怀疑是这段代码,因为程序在哔哔声中或每次播放哔哔声之前崩溃。我的应用程序域中的 all 和ThreadExceptionsaround都有顶级陷阱,但没有一个会导致此崩溃。UnhandledExceptionstry-catchApplication.Run

有任何想法吗?


编辑:

事件查看器具有以下信息:

错误应用程序 [xyz].exe,版本 4.0.0.0,时间戳 0x48ce5a74,错误模块 msvcrt.dll,版本 7.0.6001.18000,时间戳 0x4791a727,异常代码 0xc0000005,错误偏移量 0x00009b30,进程 ID 0x%9,应用程序启动时间 0x %10。

有趣的是,HRESULT 0xc0000005有这样的信息:

“读取或写入不可访问的内存位置。” (STATUS_ACCESS_VIOLATION)

0 投票
4 回答
37252 浏览

java - 对 Java 的 MP3/声音库有什么好的建议吗?

我正在寻找图书馆:

  • 读取和写入元数据(例如 mp3 和所有文件中的 ID3v2 标签)
  • 将压缩转换为原始音频数据,如果可能,将原始音频数据转换为 mp3、ogg、aac、...
  • 以数字方式处理音频数据(能量、音色、梅尔频率倒谱系数 - MFCC、FFT、LPC、自相关、小波……)

我已经知道并且不满足于:

  • JMF:来自 Sun,读取 mp3 并将其转换为 WAV。但不读取元数据,也不提供任何高级数字处理功能。
  • FMJ:具有相同限制的 JMF 的替代实现。
  • jAudio:不稳定,虽然有潜力,但目前维护得不好。
  • Marsyas:在数字处理中正是我所希望的,但在 C++ 中。也许一些端口/集成已经可用?
  • JID3:元数据的 API,但似乎已经死了(最后一个版本 2005/12/10)。
  • JLayer:用于阅读和播放的 API,也死了(最后更新 2004/11/28)。
  • MetaMusic : 程序的 API 很简洁,但没有官方的独立开源项目。因此没有社区,未来的支持和所有......
  • Light Dev:一些有趣的功能,但并不完整。

这是我自己的一些调查发现的。我将非常感谢所有的意见、建议、批评......

0 投票
7 回答
3086 浏览

vb.net - 声音样本的数学分析(作为数字数组)

我需要找到一个样本的频率,以字节数组的形式存储(在 vb 中)。样本是一个正弦波,已知频率,所以我可以检查),但数字有点奇怪,而且我的 maths-foo 很弱。值的全范围 0-255。99% 的数字在 235 到 245 的范围内,但有一些异常值低至 0 和 1,其余 1% 中高达 255。我如何对其进行标准化以消除异常值,(计算 235-245 区间,因为它可能会随着不同的样本而变化),然后我如何计算过零以获得频率?抱歉,如果这个描述是垃圾!

0 投票
2 回答
3774 浏览

cocoa - 在 Mac 上以编程方式在 Cocoa 中流式传输音频

如何在 Mac 上使用 Cocoa 以编程方式创建音频流。比如说,在 Cocoa 应用程序中使用 Mac OSX 上的核心框架制作一个白噪声生成器?

0 投票
7 回答
8910 浏览

c++ - 游戏开发声音框架

我正在与一个团队合作,该团队正在为各种 2D 以及最终的 3D 迷你游戏构建引擎。我们面临的问题是一个可靠的、跨平台的、健全的 API。显然,由于我们对跨平台功能的需求,DirectX 是不可能的。SDL 很好,而且效果很好,但让我们面对现实吧,SDL_Mixer 的功能有限。我们目前正在使用它,但是当我们最终扩展到 3D 时,这将是一个问题。

我一直在搞乱 OpenAL,但我发现的大多数文档都已经过时了,而且似乎并没有那么好用。我愿意学习 OpenAL,并努力通过它,但我想更确定一点,我不会浪费我的时间。不过,除了 DevMaster 教程之外,我还没有看到太多让我大吃一惊的文档。如果有人有比我找到的更好的材料,那就太棒了。

我还看到了诸如 FMOD 之类的项目,尽管获得了许可,但它似乎还不错。但是,与 OpenAL 一样,它们几乎没有文档。当然,我可以倾注代码来推断我的选择,但考虑到我最终可能会为此付出代价,这似乎有点痛苦。

无论如何,想法,评论,担忧?非常感谢!