Пауза/возобновление фоновой музыки в С#

У меня есть фоновая музыка, и я хочу иметь возможность приостанавливать/включать ее или отключать/включать звук нажатием одной кнопки. Есть какие-нибудь предложения? Заранее спасибо. Это то, что у меня есть до сих пор, но я не могу заставить его работать;

изменить: я использовал WMP, потому что вы не можете сделать паузу в SoundPlayer; затем сделал логическое значение и установил для него значение 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

    }

person henk_bae    schedule 21.03.2017    source источник
comment
Возможно, см. этот вопрос   -  person John Wu    schedule 22.03.2017


Ответы (2)


Я не уверен, используете ли вы программу WPF или нет, но если вы можете попробовать использовать Media Element вместо используемого вами SoundPlayer. SoundPlayer очень ограничен и не имеет очень много функций по сравнению с элементами мультимедиа, которые также предоставляет C#.

person Pacific Bird    schedule 21.03.2017

Ваша проблема, вероятно, связана с областью действия объекта player1 здесь. player1 недоступен за пределами вашего метода Muziek, попробуйте объявить его как общедоступное поле и инициализировать его в методе Muziek. но недостаточно информации в вашем вопросе, чтобы помочь в дальнейшем.

person Ahsan    schedule 21.03.2017
comment
Я объявил его общедоступным, но он все еще не работает, я получаю «Имя« player1 »не существует в текущем контексте». Не могли бы вы привести конкретный пример того, как я могу сделать то, что вы предлагаете, пожалуйста? - person henk_bae; 22.03.2017
comment
Теперь, когда я посмотрел на «System.Media.SoundPlayer», у него нет метода паузы. Это ограничение. Вам нужно будет использовать другую структуру. вы используете WPF? - person Ahsan; 22.03.2017
comment
Я действительно использовал проигрыватель Windows Media, и первая часть заработала, теперь мне нужно выяснить, как запрограммировать кнопку для возобновления/паузы. - person henk_bae; 22.03.2017