【问题标题】:Pause/ Resume background music in c#C#中的暂停/恢复背景音乐
【发布时间】:2017-03-21 23:21:12
【问题描述】:

我有背景音乐,我希望能够通过按下一个按钮来暂停/取消暂停或静音/取消静音。有人有什么建议吗?提前致谢。这是我到目前为止所拥有的,但我无法让它工作;

编辑:我使用 WMP 是因为您无法在 SoundPlayer 中暂停;然后创建一个 bool 并将其设置为 false,然后使用此循环使按钮工作

 if (paused == false)
        {
            MusicPlayer1.controls.pause();
            paused = true;
        }
        else
        {
            MusicPlayer1.controls.play();
            paused = false;
        }

/

    public Game()
    {
        GameHeigth = 45;   // some other stuff
        GameWidth = 45;
        matrix = new Cube[15, 15];
        XObjects = new List<VObject>();
        rnd = new Random();

        InitializeComponent();
        GenerateField();
        NeighbourBase();
        StartGame();
        Muziek();

    }


  private void Muziek()
    {
        System.Media.SoundPlayer player1 = new System.Media.SoundPlayer("liedje.wav");
        player1.PlayLooping();
    }

 private void PauseResumeButton_Click(object sender, EventArgs e)
    {
        Muziek.Player1.Pause(); //this doenst work

    }

【问题讨论】:

标签: c# forms button soundplayer


【解决方案1】:

我不确定您是否正在使用 WPF 程序,但您是否可以尝试使用 Media Element 而不是您正在使用的 SoundPlayer。 SoundPlayer 非常有限,与 C# 也提供的媒体元素相比,没有太多功能。

【讨论】:

    【解决方案2】:

    您的问题可能与此处的player1 对象的范围有关。 player1 在您的 Muziek 方法之外不可用,请尝试将其声明为公共字段并在 Muziek 方法中对其进行初始化。但您的问题中没有足够的信息来提供进一步帮助。

    【讨论】:

    • 我将其声明为公开,但它仍然不起作用,我得到“当前上下文中不存在名称‘player1’”。你能给我一个具体的例子,说明我该如何做你的建议吗?
    • 现在我已经查看了“System.Media.SoundPlayer”,它没有暂停方法。这是一个限制。您将需要使用不同的框架。你在使用 WPF 吗?
    • 我确实使用了 Windows Media Player 并且第一部分工作正常,现在我要弄清楚如何将按钮编程为恢复/暂停。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多