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

c++ - XP/Vista 的音量(平衡)控制

有没有一种方法可以在 XP 和 Vista 上控制 Wave 输出的平衡?

0 投票
2 回答
4731 浏览

c# - 为什么有些 wav 文件可以在我的 c# directsound 应用程序中播放,而有些则不能?

我有一个 ac# 应用程序,可以通过 directsound 播放简单的 wav 文件。使用我拥有的测试数据,代码运行良好。但是,当我使用真实世界的数据时,它在创建辅助缓冲区时产生了一个非常无用的错误:“ArgumentException:值不在预期范围内。”

测试 wav 具有 512kbps 的比特率、16bit 的音频采样大小和 32kHz 的音频采样率。新的 wav 分别为 1152kbps、24bit 和 48kHz。如何让 Directsound 处理这些较大的值,或者如果不是,我如何在尝试播放文件之前以编程方式检测这些值?

它是我正在使用的托管 DirectX v9.00.1126,我在下面包含了一些示例代码:

附加信息:真实世界的 wav 文件也不会在 windows 媒体播放器中播放,告诉我需要编解码器才能播放文件,而它们在 winamp 中播放正常。

附加信息 2:比较工作测试数据和不良真实数据的字节,我可以看到在 RIFF 块之后,不良数据有一个“bext”块,互联网告诉我是与广播相关的元数据音频扩展,而测试数据直接进入 fmt 块。/is/ 坏数据中有一个 fmt 块,所以我不知道它是否格式错误,或者加载程序是否应该进一步寻找 fmt 数据。我可以看看我是否可以从向我提供数据的人那里获得有关此 rouge bext 块的一些信息 - 如果他们可以删除它,我的代码可能仍然有效。

0 投票
2 回答
1428 浏览

java - 您可以在诺基亚手机 (N80/N95) 上使用 Java Midlet 录制音频而不会导致 JVM 泄漏内存吗?

我想在带有 Java Midlet 的诺基亚手机上反复捕获音频片段。我目前的经验是使用 Sun 文档中的代码(参见:http: //java.sun.com/javame/reference/apis/jsr135/javax/microedition/media/control/RecordControl.html)并将其包装在“ while(true)" 循环有效,但应用程序会慢慢消耗手机上的所有内存,程序最终会抛出异常并且无法启动进一步的录制。

消耗的内存不是 Java 堆内存——我的示例程序(如下)显示 Java 内存大致保持静态,大约为 185,000 字节——但诺基亚提供的底层支持库中存在某种内存泄漏;我相信会发生内存泄漏,因为如果您在运行 Java 应用程序一段时间后尝试启动另一个(非 Java)应用程序(例如 Web 浏览器),手机会终止该应用程序并发出有关内存不足的警告。

我已经尝试了几种不同的方法,这些方法与 Sun 在文档中的规范示例所采用的方法不同(每次循环初始化所有内容,尽可能只初始化一次,调用尽可能多的解除分配风格的函数,这些函数不应该是绝对必要的ETC。)。似乎没有一个是成功的。下面是一个简单的示例程序,我认为它应该可以工作,但在 N80(尽管有固件更新)和 N95 上运行 15 分钟左右后崩溃。其他论坛也报告了这个问题,但那里提出的解决方案似乎不起作用(例如,参见:http ://discussion.forum.nokia.com/forum/showthread.php?t=129876 )。

0 投票
4 回答
11393 浏览

flash - 如何在 Actionscript 3 中播放与 SWF 不在同一目录中的声音?

我有一个带有一堆外部声音到 SWF 的项目。我想播放它们,但是每当我尝试将新 URL 加载到声音对象中时,它都会失败,

错误 #2068:无效的声音

或引发 ioError

错误 #2032 流错误

// 尝试使用前缀为“http://..”“file://..”“//..”和“..”的路径)

0 投票
5 回答
33009 浏览

python - Python音乐库?

我正在寻找用 Python 编写一个小鼓机来获得乐趣。我用谷歌搜索了一些,找到了关于音乐基本音频的 python 页面以及关于生成音频文件的 StackOverflow 问题,但我正在寻找的是一个体面的音乐创作库。有没有人在这里尝试过做这样的事情?如果是这样,您的解决方案是什么?什么,无论是我找到的,还是我没有找到的,将是一个体面的音频处理库?

至少,我希望能够在 python 中做类似于Audacity范围的事情,但如果有人知道可以做更多的库......我全都听好了。

0 投票
2 回答
2651 浏览

windows - 如何从 Wave Out 中捕获 PCM 数据

如何以编程方式捕获音频?我正在实现一个在网络上实时流式传输桌面的应用程序。视频部分完成。我需要实现音频部分。我需要一种从声卡获取 PCM 数据以馈送到我的编码器的方法(使用 Windows 媒体格式实现)。

我认为答案与 Win32 API 中的 openMixer()、waveInOpen() 函数有关,但我不确定我该怎么做。

如何打开必要的通道以及如何从中读取 PCM 数据?

提前致谢。

0 投票
1 回答
2677 浏览

c# - 当另一个声音使用 XNA/XACT 结束时,如何立即播放一个声音?

这个问题介于音频设计师和程序员的世界之间。虽然这个问题可能必须由音频设计师的那个领域来部分回答,但这对于程序员来说肯定是一个问题。在我们的项目中,我们希望在游戏计时器还剩一分钟以上时循环播放声音(背景音乐)。当这个时间到达时,我们希望停止创作的音乐,然后立即继续结束片段。我一直在研究 XACT,它似乎支持不同的事件。不幸的是,缺少文档,并且该应用程序对我作为程序员来说有些陌生。

我想做的是沿着这些思路(不同的方法):

  1. 当音乐停止时,我想绑定一个事件立即播放另一个声音
  2. 当音乐中触发标记时,我想立即播放另一个声音
  3. 我还想在我的应用程序中知道其中一些事件何时发生

问题是当另一个声音开始时我找不到任何自动播放声音的机制,而且我找不到将 XACT 项目中的事件连接到 C# 的方法。

如果这无法完成(即 XACT/XNA 不支持这些操作),请收集您的想法,了解如何以最小的交叉声音时间错误解决此问题。最好我可以通过调用 XNA 在 C# 中尽可能地控制它。

0 投票
2 回答
310 浏览

audio - 将音频转换为代码,反之亦然

刚刚在 Nintendo DS 游戏Bangai-O Spritis上见证了Sound Load 技术。我很好奇这项技术是如何工作的?有没有人有任何关于实现这种功能的链接、文档或示例代码,可以通过音频保存和加载应用程序的状态?

0 投票
2 回答
906 浏览

java - 没有硬件设备的java声音

任何人都知道是否可以在实际上没有硬件声音设备的系统上编写使用 Java Sound API 的应用程序?

我有一些基于 API 编写的代码,用于处理一些音频并播放结果,但我现在尝试在服务器环境中运行它,其中音频将被记录到文件中,而不是播放出来。

我正在运行的服务器没有声卡,如果没有支持它的混音器,我似乎遇到了 Java Sound 无法分配任何线路的障碍。(而且没有硬件设备,我没有混音器。)

任何信息将不胜感激 -

谢谢。

0 投票
5 回答
5324 浏览

c# - 如何播放声音文件

使用 C#,我如何播放(暂停、转发...)声音文件(mp3、ogg)?该文件可能在硬盘上,也可能在互联网上。

是否有任何图书馆或类可以减轻我的工作?