问题标签 [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 投票
4 回答
2804 浏览

c# - WAV文件在C#中自动重复

我有一个 10 秒的音效波形文件。我想做的是获取该文件并重复 n 次,然后将较长的 WAV 文件保存到磁盘。这样,我可以创建更长的背景效果,而不是在媒体播放器上自动重复,这在重复之间有点卡顿。我正在尝试在 C# 中执行此操作。

0 投票
4 回答
8137 浏览

winapi - 如何捕捉正在播放的音频?

有谁知道如何以编程方式捕获正在播放的声音(即来自声卡的所有声音,而不是麦克风等输入设备)。

0 投票
7 回答
9344 浏览

.net - 以编程方式将 G729 音频转换为 WAV PCM

我有 G729 编码的音频文件。我需要在一个也在做其他事情的工具流中以编程方式将它们转换为 WAV PCM(16 位 8kHz 单声道)。我有一个可执行文件可以为我做到这一点。但是每次我转换时产生那个外部进程对资源来说太重了。特别是如果我需要其中许多并行完成。寻找可以让我在我的进程中调用它的 .NET 库或代码。

0 投票
2 回答
7709 浏览

iphone - 如何在 iPhone 应用程序中设置硬件音量?

一些 iPhone 应用程序,例如 Pandora 似乎直接操纵硬件音量并响应物理音量按钮。这是怎么做到的?

AudioSessionServices 允许您使用该属性获取当前的硬件输出音量kAudioSessionProperty_CurrentHardwareOutputVolume,但它(据称)是只读的。

0 投票
2 回答
3942 浏览

audio - 如何在三星手机的 Java ME 中播放声音文件?

我想播放的文件格式包括 .wav、.mp3、.midi。

我尝试使用 Wireless Toolkit 类但没有成功。我也尝试过使用作为三星 SDK 一部分的 AudioClip 类;再次与

0 投票
2 回答
1757 浏览

c++ - 音量控制 XP 与 Vista 不同的通道数

当我运行此代码时:

在 XP MixerLine.cChannels 下返回声卡支持的通道数。经常2,这些天经常更多。

在 Vista 下,MixerLine.cChannels 作为一个返回。

然后我得到了一个 MIXERC​​ONTROL_CONTROLTYPE_VOLUME 控件并为每个受支持的通道设置音量,并将不同通道上的音量控制设置为不同的级别,以便在扬声器之间来回平移音乐(从左到右)。

显然在 Vista 下这种方法是行不通的,因为只有一个通道。我可以设置音量,它同时适用于两个通道。

我试图为这个设备获取一个 MIXERC​​ONTROL_CONTROLTYPE_PAN,但这不是一个有效的控件。

所以,所有MMSystem专家的问题是:我需要什么类型的控制来调整左/右平衡?或者,有没有更好的方法?我想要一个适用于 XP 和 Vista 的解决方案。

计算机详细信息:运行 Vista Ultimta 32 位 SP1 和所有最新补丁。音频由带有 4 个扬声器的 Creative Audigy 2 ZS 卡提供,这些扬声器都可以通过 Vista 的声音面板正确寻址(控制)。驱动程序是 Creative 网站上的最新版本 (SBAX_PCDRV_LB_2_18_0001)。Vista 声音未设置为单声道,所有声道都可以从声音面板中看到和控制。

在“XP 兼容模式”下运行程序不会改变此问题的行为。

0 投票
6 回答
7911 浏览

flash - 在 Flash 9、Actionscript 3 中播放短声音的延迟

我有一些非常短的音频剪辑(不到一秒长)要在各种事件(按钮悬停、单击等)上播放。但是,动作和声音的实际播放之间通常存在明显的滞后。我尝试将声音嵌入到 .swf 中,并在开始时将其从外部加载,但都导致相同的结果。同样,我尝试过压缩和未压缩的音频。

看起来音频缓冲区比我需要的要长得多,就像 Flash 可能更优化以播放更长的声音而不会出现任何口吃,但代价是开始声音的延迟时间更长。会是这样吗?有什么办法可以改变它们吗?由于我正在做的工作永远不需要播放声音超过一秒左右,并且总是会在开始时完全加载,因此拥有非常短的缓冲区根本不会造成伤害。

另一个可能的原因是:如果我在使用 loadSound() 时使用 .wav 文件...我无法让它真正播放声音。没有错误,一切都按原样返回,但没有播放实际的声音,这就是我目前将它们作为 .mp3 的原因。也许在使用 .mp3 音频(或任何压缩音频)时,解码时会有延迟?不过,我对此仍有疑问的原因是,当将它们作为 .wav 文件嵌入到 .swf 中时(通过将它们导入库中),它们在播放时仍然具有相同的延迟。

只是为了进行完整性检查,我将包含我拥有的代码,减去不相关的部分和错误检查。首先,在运行时加载它们:

还有一种替代方法,将它们作为类嵌入到库中并从那里开始:

声音文件很小,一般小于 10kb。滞后很明显,以至于有人在看到它时首先抱怨的一个是按钮悬停时的声音效果似乎延迟了,所以不仅仅是我很挑剔。我觉得我一定是做错了什么;那里有太多闪光的东西,它们具有快速的声音效果,而没有任何接近这种滞后的地方。

编辑:为了响应关于声音文件本身的第一个响应,我已经检查过了,声音在文件的开头立即开始(即使剪掉除了声音的第一毫秒之外的所有内容,我仍然可以听到开始它发出的“滴答”声)。

0 投票
4 回答
3259 浏览

c# - 使用 C# 从 line-in 连续采样的最简单方法是什么

我想使用 C# 不断地从我的 PC 的音频线中采样(然后处理该数据)。进行抽样的最佳方法是什么?

0 投票
10 回答
25304 浏览

audio - 对数字音频进行下采样和应用低通滤波器

我有来自 CD 的 44Khz 音频流,表示为 16 位 PCM 样本数组。我想将其缩减为 11KHz 流。我怎么做?从我多年前上工程课的日子开始,我知道流将无法准确描述超过 5500Hz 的任何东西,所以我想我也想剪掉超过 5500Hz 的所有东西。有任何想法吗?谢谢。

更新:此页面上有一些代码使用简单的算法和看起来像 { 1, 4, 12, 12, 4, 1 } 的系数数组从 48KHz 转换为 8KHz。我认为这就是我所需要的,但我需要它的 4 倍而不是 6 倍。知道这些常数是如何计算的吗?此外,无论如何,我最终还是将 16 字节样本转换为浮点数,因此我可以使用浮点数而不是短裤进行下采样,如果这对质量有帮助的话。

0 投票
6 回答
8300 浏览

java - 如何在 JavaFX 中播放声音?

我正在尝试用 JavaFX 制作一个小游戏。

我想添加声音。如何?

我尝试MediaPlayer使用media相关source属性定义,例如:

它不播放。我明白了

FX Media Object caught Exception com.sun.media.jmc.MediaUnavailableException: Media unavailable: file: ... Sound.class/sound/hormpipe.mp3