Установите WindowsMediaPlayer для автозапуска C # Windows Form - PullRequest
2 голосов
/ 26 ноября 2011

Привет, я строю свою первую RPG-игру в форме Windows. В настоящее время я пытаюсь установить фоновую музыку по умолчанию, которая запускается при загрузке и не останавливается. Если я установил axWindowsMediaPlayer на видимое и нажал кнопку воспроизведения, он без проблем запускается с этой простой строкой:

    private void axWindowsMediaPlayer1_Enter(object sender, EventArgs e)
    {
        axWindowsMediaPlayer1.URL = @"MyMusic\\ff3.mp3";
    }

Это событие щелчка, но я могу найти любое событие «При загрузке». Я где-то читал, что значение по умолчанию axWindowsMediaPlayer.settings.autorun было истинным, но только для того, чтобы убедиться, что я добавил эту строку в событие загрузки:

    private void Form1_Load(object sender, EventArgs e)
    axWindowsMediaPlayer1.settings.autoStart = true;

Но по-прежнему нет звука при загрузке, есть идеи?

1 Ответ

2 голосов
/ 26 ноября 2011

Почему бы вам не использовать SoundPlayer Class ? Если вы создаете игру, это лучше, чем ваше решение. Таким образом, вы можете загрузить свой звуковой файл, написав этот код:

using System.Media;

public SoundPlayer LoadSoundFile(string filename)
{
       SoundPlayer sound = null;

       try
       {
             sound = new SoundPlayer();
             sound.SoundLocation = filename;
             sound.Load();
       }
       catch (Exception ex)
       {
             MessageBox.Show(ex.Message, "Error loading sound");
       }

       return sound;         
}

Тогда вы можете Play() и Stop() ваш звук, когда вы хотите.

EDIT:

В вашем случае:

private void Form1_Load(object sender, EventArgs e)
{
     LoadSoundFile(filename).Play();  
}

PS: Помните, что вам нужно конвертировать файлы .mp3 в .wav

...