如何在线程中播放声音?

Posted

技术标签:

【中文标题】如何在线程中播放声音?【英文标题】:How can I play a sound in a thread? 【发布时间】:2019-09-13 15:11:35 【问题描述】:

我想在线程中播放 1 秒钟的哔声。我不熟悉线程,也许还有另一种不使用线程的简单方法。我使用了console.beep(),但不幸的是它冻结了一秒钟。

while(true)

   do some jobs;
   console.beep();

Winform 应用程序在 console.beep() 上冻结;一秒钟。我需要通过线路并同时发出一秒钟的哔声。

【问题讨论】:

请给我们一些代码,以便我们帮助您找出问题所在。 ***.com/questions/1304223/… 【参考方案1】:

你可以使用

using System.Media;


    SystemSounds.Beep.Play();

而且 Play() 不会阻塞,因此您不需要线程。 它播放用户系统声音设置中配置的任何内容。

但如果您需要知道声音何时结束,这不是您想要的。

How to: Play a Beep from a Windows Form

【讨论】:

以上是关于如何在线程中播放声音?的主要内容,如果未能解决你的问题,请参考以下文章

在单独的线程中播放短声音

如何在 Java 中播放声音文件

杀死音频剪辑线程

如何在 C# 中一次播放多个声音

ALSA:如何判断声音何时播放完毕

windows编程怎么同时播放两个或者多个声音文件?