问题标签 [soundplayer]

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 回答
1682 浏览

c# - C# - .WAV 随机播放高音

出于某种原因,当使用下面的片段播放 WAV 文件时,它会随机播放扭曲的声音,就像高音噪音一样。它不会一直发生,只是随机发生。当它更频繁地播放时,它似乎更频繁地发生。下面是 WAV 属性以及我正在使用的代码片段。

WAV 属性:

比特率 - 750kbps
音频采样大小 - 16 位
通道 - 1(单声道)
音频采样率 - 44kHz
音频格式 - PCM

片段:

这是因为我播放文件的方式还是文件本身?谢谢你。

0 投票
1 回答
2551 浏览

c# - 使用 SoundPlayer 播放嵌入的 wav 文件

我有一个负责扫描条形码的 Compact Framework 3.5 应用程序。根据情况,它应该播放 3 种不同的声音,因此我围绕 SoundPlayer 对象创建了一个包装类,并在其上调用 Play 方法。

这个想法是不要在每次需要扫描条形码时创建 SoundPlayer(每小时扫描几百次)。所以我可以在已经加载的文件上调用 Play 。

alert.wav 文件位于应用程序引用的库项目的根目录中的 SoundEffects 文件夹中,它被设置为嵌入式资源。我需要将什么传递给 SoundEffects 类来加载 wav 文件?wav 文件是否应该嵌入到库项目中?

还有人注意到我处理 wav 文件播放的方式有什么问题吗?这是我第一次尝试这样的事情,所以我愿意接受改进的建议。

0 投票
2 回答
4383 浏览

c# - SoundPlayer 和 Windows 7 wav 文件

当我尝试播放声音文件“Windows Critical Stop.wav”时,出现以下异常:exec {"Sound API only supports playing PCM wave files."} System.Exception {System.InvalidOperationException}

我了解 PCM 是什么,我只是不知道如何:1)播放声音文件,2)先验地确定它不是 PCM 并且不会播放,并阻止选择文件。

这是我正在使用的代码:

0 投票
0 回答
1966 浏览

c# - 获取wav文件的长度?(用声音播放器类播放 wav)

SoundPlayer在我的程序中使用 .NET 类播放 wav 声音文件,是否有可能获得 wav 文件的长度(以毫秒为单位)?

感谢您的回答。

0 投票
3 回答
2283 浏览

c# - 在本地级别停止 SoundPlayer 循环

我正在设置一个警报,该警报会弹出一个对话框,其中包含用户可以选择的多个声音文件选项。我遇到的问题是在本地创建一个声音播放器,我可以用一个按钮关闭它。我遇到的问题是当我关闭表单时声音一直在循环,因为按钮单击事件中不存在 SoundPlayer。

这就是我所拥有的:

有没有办法通过声明我所在的 SoundPlayer 实例来做我想做的事情?或者有没有办法在类级别声明它,并且仍然能够根据用户设置更改声音文件?

0 投票
0 回答
1546 浏览

c# - System.Media.SoundPlayer.Play() 冻结 GUI

我正在尝试使用 C# 在 .NET 中实现一个简单的游戏。有一个球在物体上弹跳,当它弹跳时,我使用 System.Media:SoundPlayer 异步播放声音。问题是大部分时间(并非总是)球在击球时冻结,只要声音播放。

这发生在 Windows XP 上,但不在 Windows 7 上。我使用 .NET 3.5。最奇怪的是,如果我打开应用程序 Windows Media Player 并播放几秒钟的 mp3,问题就会消失。

这是我初始化 SoundPlayer 对象的代码:

...当球碰到障碍物时,这条线被称为:_playerBounce.Play();

我还在这篇文章中尝试过“尝试 #4”: 如何使用 System.Media.SoundPlayer 异步播放声音文件?

根据我在网上某处找到的一些建议,另一个绝望的尝试是将声音流保存到一个文件中,这样 SoundPlayer 在从文件初始化时效果更好。

这些尝试都没有奏效。

有任何想法吗?

0 投票
2 回答
1042 浏览

c# - 从字节码播放音频文件(音频文件格式为 CCITT A-Law)

我想从字节码播放音频文件。我已经有音频文件的字节码。但是当我使用 System.Media.SoundPlayer 播放时,出现“{Sound API 仅支持播放 PCM 波形文件。”} 的错误。我的音频文件格式是(CCITT A-Law)。有这方面知识的可以和我分享一下吗??

谢谢。

0 投票
8 回答
3604 浏览

c# - SoundPlayer 导致内存泄漏?

我正在用 C# 编写一个基本的写作应用程序,我想让程序在你打字时发出打字机的声音。我已经将我的 RichTextBox 上的 KeyPress 事件连接到一个函数,该函数使用 SoundPlayer 在每次按下一个键时播放一个短的 wav 文件,但是我注意到一段时间后我的计算机慢到爬行并检查我的进程,audiodlg .exe 使用了 5 GB 的 RAM。

我正在使用的代码如下:

我在程序开始时将 SoundPlayer 初始化为全局变量

然后在 KeyPress 事件中,我只需调用

有谁知道是什么导致大量内存使用?该文件的长度不到一秒钟,因此它不应该过多地阻塞它。

0 投票
1 回答
205 浏览

c# - 如何确保在 dotnet 中可靠的异步 wav 播放?

我正在播放 wav 文件作为 dotnet 中的用户提示。我的代码在笔记本电脑上运行良好,但似乎在上网本上跳过了声音。如何确保 dotnet 上网本上的 wav 播放是一致的?在上网本中导致偶尔播放问题的当前代码:

当我将声音预加载到字典中以按声音名称调用时,同样的问题:

0 投票
1 回答
2057 浏览

c# - SoundPlayer.PlaySync 过早停止

我想在 gui 线程上同步播放 wav 文件,但我对 PlaySync 的调用提前返回(并且过早停止播放)。wav文件是2-3分钟。

这是我的代码的样子:

我想到的一些事情是加载超时,并在另一个线程上播放音频,然后通过强制 gui 线程等待声音文件的持续时间来手动“冻结”gui。我尝试延长加载超时,但没有任何效果。

我不太确定在不使用不是我/微软的人编写的代码的情况下获得 wav 文件持续时间的最佳方法是什么。我想这是可以计算出来的,因为我知道文件大小,并且所有编码属性(比特率、采样率、采样大小等)在我打算播放的所有文件中都是一致的。有人可以详细说明如何使用此信息计算 wav 文件的持续时间吗?也就是说,如果没有人知道为什么 PlaySync 会提前返回。

编辑:

注意:我前段时间在 VB 6 中遇到了类似的问题,但这是由超时引起的,我不怀疑这里有问题。较短(< 1 分钟)的文件似乎可以正常播放,所以我可能决定手动编辑较长的文件,然后通过多次调用分别播放它们。

附加信息:我注意到同一个文件同时停止。这些文件是使用 Audacity 创建的。PlaySync 是否有可能期望文件的某种编码与我 Audacity 产生的不同?