【问题标题】:How to play Multiple sound files from the properties using Sound Player如何使用声音播放器从属性中播放多个声音文件
【发布时间】:2020-12-15 00:00:30
【问题描述】:

我正在做一个测验,在每种形式中我都有背景音乐,如果他们得到正确的答案,我想播放声音效果。当我这样做是停止背景音乐并播放音效然后没有声音播放,有人知道怎么做吗?

public static System.Media.SoundPlayer player = new System.Media.SoundPlayer();

public static void sound(string form)
{
    switch (form)
    {
        case "Login":
            player.Stop();
            player.Stream = Properties.Resources._2marioloadscreen;
            player.PlayLooping();
            break;
     }
  }

【问题讨论】:

  • 感谢您抽出宝贵时间分享您的问题。有什么东西不见了。你的目标和困难是什么?到目前为止你做了什么?请尝试更好地解释您的问题、开发环境、数据类型和预期结果,并分享或多或少的代码(无屏幕截图)、一些示例、图像或屏幕草图以及用户故事或场景图。为了帮助您改进您的要求,请阅读How do I ask a good question & Writing the perfect question
  • 您是在使用 System.Media.SoundPlayer.Play() 来停止当前声音以播放新声音,还是在使用其他东西?
  • 您好 Oliver,感谢您抽出宝贵时间回复,老实说,我还没有尝试其他任何方法,因为我找不到任何可以解决我的问题的地方,如果更改代码,我会循环播放我的声音,我正在创建一个声音播放器,流式传输声音并使用 soundplayer.play,我将在下面添加代码

标签: c# properties soundplayer


【解决方案1】:

这里是一个如何做的例子,假设你有两个 wav 文件(一个用于背景音乐,一个用于正确答案音效)。关键是要知道音效什么时候播放完,然后再继续播放背景音乐。

我把它写成一个简单的 C# 控制台应用程序。

class Program
{
    private static SoundPlayer player;

    static void Main(string[] args)
    {
        using (player = new SoundPlayer())
        {
            player.SoundLocation = "bkgnd.wav";
            player.PlayLooping();
            Console.WriteLine("bkgnd.wav is now playing in a loop. (Hit ENTER key to start the hoorayyouwon.wav)");
            Console.ReadLine();
            Console.WriteLine("hoorayyouwon.wav is now playing.");
            player.Stop();
            player.SoundLocation = "hoorayyouwon.wav";
            player.PlaySync(); // this ensures the hoorayyouwon.wav plays completely before it gets to the next line of code.
            Console.WriteLine("bkgnd.wav is now continuing (actually, starting over). (Hit ENTER key to exit)");
            player.SoundLocation = "bkgnd.wav";
            player.PlayLooping();
            Console.ReadLine();
        }
    }
}

【讨论】:

  • 您好,感谢您的回复,我想同时播放两个,而不是停止一个,播放音效然后立即再次播放
  • 那你就不能使用SoundPlayer了。它很老了,不是一个好的播放器:见herehere。我已阅读 MediaPlayer 可能会满足您的需求,但还没有研究过。
  • 感谢您的帮助,尽管我已经查看了该页面并且对我来说没有意义,为了澄清,我是 c# 的新手,我目前正在为我的课程编写一个测验学校...我听说声音播放器无法同时播放 2 个声音,但我不知道如何使用媒体播放器来实现此功能
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-21
  • 2014-05-09
  • 2010-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多