问题标签 [directsound]
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.
c# - DirectSound 定时和采样计数
我正在使用 DirectSound 将正弦波写入声卡。样本大小为 16 位,一个通道。我的问题是,发出五秒钟的声音需要多少样本?采样率为每秒 44100 个样本。数学很简单:220500 就是答案。不过,这让我发疯了,因为我的代码只播放了大约一半的时间!这是我的代码:
根据我的计算,这应该播放 5 秒。它播放半场。如果我改变
至
然后声音工作正常,但这是一个黑客,对吧?当然我做错了什么,但我不知道是什么。
谢谢你的时间。
c# - DirectSound:将音量设置为百分比
SecondaryBuffer类中的Volume-Property似乎很奇怪,因为-4000左右的值是0%,0是100%,我怎样才能将Volume设置为精确的百分比或获得最低的Volume来自己做呢?
windows-7 - DirectSoundEnumerate() 未在 Windows 7 上列出驱动程序名称
我有一个在 Windows XP 上编译的程序,现在我正试图在 Windows 7(x86 和 x64)上运行它。该程序使用 DirectSound8 枚举机器上的所有声音设备。问题是 enumerate 函数在 Windows XP 和 Windows 7 上为驱动程序名称DirectSoundEnumerate(...)
返回不同的结果。
上面列出的三台机器的配置与戴尔 Precision 390 相同。
从 DX9SDK_DEC2005 到“DSound.lib”的程序链接。
有谁知道为什么 Windows 7 将驱动程序名称作为 GUID 而不是驱动程序名称返回?
c# - 尝试克隆 SecondaryBuffer 但遇到 MemoryAccessViolation 异常
我正在尝试克隆SecondaryBuffer
,以便可以同时多次播放相同的声音。
这是我正在使用的代码: 在主线程中:
在不同线程上运行的函数中:
这是我在Clone
函数上遇到的异常:
Microsoft.DirectX.DirectSound.dll 中出现“System.AccessViolationException”类型的未处理异常
附加信息:试图读取或写入受保护的内存。这通常表明其他内存已损坏。
有人有解决方案吗?
c# - 在 Windows 中检测耳机
我正在尝试检测耳机是否已插入 Windows。我已经尝试过 DirectSound 和 NAudio 库,但没有任何成功。有没有人有什么建议?
注意:此问题与此问题重复,但该问题的答案不包含任何代码示例或教程。
c# - C# 中的 FFmpeg 和 DirectSound/XAudio2
我一直试图让它工作一段时间,但有点卡住了。
我试图能够使用输出到 DirectX 和 DirectSound 或 XAudio2 的 libavcodec 在 C# 中播放视频。我已经设法让它播放视频,但我坚持让它输出声音。
我没有使用过 DirectSound 或 XAudio2 的经验,或者 libavcodec 的文档很少,这都无济于事。我设法获得了音频编解码器,但我一直试图解码它或通过 DirectSound/XAudio2 输出它。
如果有人能够指出我正确的方向,或者只是告诉我该怎么做,我将不胜感激。
c# - C# 使用摄像头麦克风录制
我正在制作一个从麦克风录制声音的应用程序,但我不知道如何将所有麦克风安装在电脑上……我尝试过使用 DirectSound,但这只给了我声卡 MicIn。那么,我怎样才能得到所有的麦克风呢?
c# - 如何将事件添加到 C# 中的包装类?
我正在使用DirectSound
框架和SecondaryBuffer
对象。我将SecondaryBuffer
对象包装在另一个类中,因为我有一些其他值要与我的SecondaryBuffer
.
播放声音后,我想处理SecondaryBuffer
,但是,检查它是否完成播放的唯一方法是检查它的状态。
我想创建一个当我的状态是正确值event
时可以调用的。SecondaryBuffer
这是包含我的包装类的片段。
没有事件,我必须使用 aTimer
并检查这样的状态;
无论如何,我可以events
用来调用 SecondaryBuffer 对象的 Dispose() 方法,而无需使用Timer
.
c - 在 Windows 上使用 C 将数据流式传输到声卡
作为大学项目的一部分,我必须进行一些信号处理,并希望使用 PC 声卡输出结果。该软件必须用 C 语言编写,并且需要与 Windows(最好是 7 和 XP)一起工作。
我找到了输出 .wav 和类似文件的代码示例,但我对连续输出数据而不是从文件输出感兴趣。尽管一些声音 API 似乎有自己的处理缓冲区的方式,但输出的数据很可能会以数组的形式呈现。
任何建议都会很棒,代码示例甚至最好的 API 也一样。我看过 DirectSound 和 OpenAL,但仍然不确定如何开始。
volume - 如何在 C++ 中使用 DShow.h 和 strmiids.lib 实时调整声音片段的音量
我试图弄清楚如何在我的 C++ 程序中实时设置我的声音剪辑播放的音量,并做一些事情,比如随着 2 个对象彼此靠近而增加声音的音量。现在,我正在使用“DShow.h”以及“strmiids.lib”,并且我正在使用以下数据成员指针提供的接口:
使用这些提供的接口,有没有办法改变媒体流播放的音量?