【问题标题】:Set WindowsMediaPlayer to autorun C# Windows Form将 WindowsMediaPlayer 设置为自动运行 C# Windows 窗体
【发布时间】:2025-12-09 04:15:01
【问题描述】:

您好,我正在构建我的第一个 Windows 形式的 RPG 游戏。 我目前正在尝试设置在启动时运行并且不会停止的默认背景音乐。 如果我将 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;

但启动时仍然没有声音有什么想法吗?

【问题讨论】:

    标签: c# winforms windows-media-player


    【解决方案1】:

    为什么不使用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() 您的声音。

    编辑:

    在你的情况下:

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

    PS:请记住,您必须将 .mp3 文件转换为 .wav

    【讨论】:

    • 非常感谢!!真的很喜欢这个主意