C # Как остановить воспроизведение "Soundtrack" mp3-плеера WindowsMediaPlayer в другой форме - PullRequest
0 голосов
/ 19 января 2019

Мой проект - это игра для Windows Form с фонограммой mp3, играющей в фоновом режиме, саундтрек полностью зависит от игрового состояния / формы, в которой находится игрок. В настоящее время у меня есть саундтрек "Introthemetune", воспроизводимый с экрана запуска, однако, когда пользовательв конце концов, переходит в «состояние игры» / новую игру, мне нужно остановить «Introthemetune», чтобы другой мог играть без помех.

Я знаю, как заставить Introthemetune перестать играть из той же формы, в которой он был создан с помощью Introthemetune.controls.stop ().Я также попытался получить доступ к классу из недавно созданной формы, но безуспешно.

Код внутри формы LaunchScreen и созданного экземпляра класса -

WindowsMediaPlayer Introthemetune = new WindowsMediaPlayer ();

    public LaunchScreen()
    {
        this.Opacity = 0;
        InitializeComponent();
        Introthemetune.URL = "Finalised Game Soundtrack.mp3";
    }

...

private void Gamescreen_Load(object sender, EventArgs e)
    {

     Introthemetune.controls.play();
    }

Мне нужен этот код, чтобы перестать играть вне этой формы.

1 Ответ

0 голосов
/ 19 января 2019

Если вы не можете остановить его вручную перед отображением второй формы, тогда проще всего определить Introthemetune как переменную public static в вашей форме, скажем MainForm.Тогда вы можете получить к нему доступ из любого места, как MainForm.Introthemetune.controls.stop()

...