C Sharp WPF实现播放声音的两种方法示例

作者:袖梨 2026-06-09

WPF 播放声音的代码实现

在 WPF 中播放声音可以通过 System.Media.SoundPlayerMediaPlayer 类实现。以下是两种方法的代码示例。

C#WPF实现播放声音的两种方法示例

使用SoundPlayer播放简单音频

SoundPlayer 适用于播放短小的 WAV 文件,但不支持 MP3 等格式。

using System.Media;

public void PlaySoundWithSoundPlayer()
{
    // 指定音频文件路径(WAV 格式)
    string soundPath = @"C:pathtosound.wav";
    
    // 创建 SoundPlayer 实例并播放
    SoundPlayer player = new SoundPlayer(soundPath);
    player.Play();
}

使用MediaPlayer播放音频(支持 MP3)

MediaPlayer 支持更多音频格式(如 MP3),并提供更灵活的控制。

using System.Windows.Media;

public void PlaySoundWithMediaPlayer()
{
    // 指定音频文件路径(支持 MP3、WAV 等)
    string soundPath = @"C:pathtosound.mp3";
    
    // 创建 MediaPlayer 实例
    MediaPlayer player = new MediaPlayer();
    player.Open(new Uri(soundPath, UriKind.RelativeOrAbsolute));
    
    // 注册播放完成事件(可选)
    player.MediaEnded += (sender, e) =>
    {
        player.Close(); // 播放完成后释放资源
    };
    
    player.Play();
}

使用MediaElement在 XAML 中播放音频

如果需要在 UI 中控制播放,可以使用 MediaElement 控件。

<!-- 在 XAML 中添加 MediaElement -->
<MediaElement x:Name="mediaPlayer" LoadedBehavior="Manual" />
// 在代码中控制播放
mediaPlayer.Source = new Uri(@"C:pathtosound.mp3", UriKind.RelativeOrAbsolute);
mediaPlayer.Play();

注意事项

  • 确保音频文件路径正确,否则会抛出异常。
  • 使用 MediaPlayerMediaElement 时,支持更多格式,但需注意资源释放。
  • 如需循环播放,可在 MediaEnded 事件中重新调用 Play()

相关文章

精彩推荐