c#用一行c#代码播放声音

Posted

技术标签:

【中文标题】c#用一行c#代码播放声音【英文标题】:c# play sound with one line of c# code 【发布时间】:2011-04-22 15:15:28 【问题描述】:

我正在和其他一些程序员玩游戏。你可以写一行 C# 和任意多的 xaml 行。

任何人都知道如何在分号前的一行中播放声音;

这是我能做到的最接近的地方

    SoundPlayer simpleSound = new SoundPlayer(@"c:\Media\pacman.wav");
    simpleSound.Play();

编辑:尝试了 Blorgbeard 的代码,但由于某种原因没有播放声音

if (Listbox.SelectedItem.ToString() == "2 Good 2 B True")

    try
    
        (new SoundPlayer(@"/Project;component/sounds/pacman.wav")).Play();
    
    catch (Exception ex)
    
        Console.Error.WriteLine(ex.Message); 
    


【问题讨论】:

可能重复***.com/questions/129642/how-to-play-a-sound-file 因为...如果您使用更少的代码行数,您希望声音播放得更快? 我只能写一行代码。 不,只是工作中的一些乐趣。它似乎变成了一个巨蟒动画。 有这样的工作,谁需要玩? 【参考方案1】:

不需要变量:

(new SoundPlayer(@"c:\Media\pacman.wav")).Play();

【讨论】:

我确定它有效,但我仍然没有听到任何声音。也没有错误。请参阅上面的代码编辑。 @rd42 如果你用相同的文件名在两行中执行它是否有效? @Rd42 你确定你的扬声器已经打开了吗? 这是我的路。当我对路径 c:\blah blah blah 进行硬编码时,它可以工作,但 /Project;component/sounds/pacman.wav 没有。有什么想法吗?【参考方案2】:

如果我使用 PlaySync() 而不是 Play(),Blorgbeard 的代码对我有用:

(new SoundPlayer(soundFile)).PlaySync();

Play() 在另一个线程中播放声音。这可能是问题所在。

【讨论】:

以上是关于c#用一行c#代码播放声音的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中播放声音更有效

C# Android:点击播放声音[关闭]

C# 播放声音的方法?

C# WINFROM怎么播放声音文件? 我把声音文件放在BIN目录下 结果报错说啥找不到文件

使用 C# 在特定设备中播放声音

同时播放两个声音c#