C#中的媒体播放器

时间:2013-09-17 09:35:33

标签: c# winforms soundplayer

我正在使用System.Media.SoundPlayer类在C#中制作媒体播放器,但是有太多限制,因为它只播放.wav个文件,并且此处没有音量控制不是media-progessbar。那么有没有更好的内置类或自定义类。如有,请说明。或者即使有任何与它平行的东西。

5 个答案:

答案 0 :(得分:2)

您可以将WPF MediaElement用作完整的音频和视频播放器。

它非常易于处理,并且或多或少带来了Windows Media Player的所有功能。 如果使用Windows窗体,则可以轻松嵌入WPF控件。

我的唯一缺点是它需要安装Windows Media Player。

答案 1 :(得分:1)

您可以使用Windows Media Player ControlMSDN上显示了一个示例。

private void PlayFile(String url)
{
    Player = new WMPLib.WindowsMediaPlayer();

    Player.URL = url;
    Player.controls.play();
}

如果您想要更好地控制播放,并且不想将自己绑定到WMP,则可以考虑使用NAudio这是一个开源媒体库。

答案 2 :(得分:1)

答案 3 :(得分:1)

如果您使用工具箱中提供的MediaElement,则无需担心文件扩展名。

这是一个可以帮助您的代码段:

private void button4_Click(object sender, RoutedEventArgs e)
    {
        OpenFileDialog ofd = new OpenFileDialog();
        ofd.AddExtension = true;
        ofd.DefaultExt = "*.*";
        ofd.Filter = "Media(*.*)|*.*";
        ofd.ShowDialog();
        mediaElement1.MediaOpened += new RoutedEventHandler(mediaElement1_MediaOpened);
        mediaElement1.Source = new Uri(ofd.FileName);
    }

    private void button1_Click(object sender, RoutedEventArgs e)
    {

        mediaElement1.Play();
    }

    private void button3_Click(object sender, RoutedEventArgs e)
    {
        mediaElement1.Stop();
    }

    private void button2_Click(object sender, RoutedEventArgs e)
    {
        mediaElement1.Pause();

    }

有关详细信息,请参阅:http://bitsandbinaries.wordpress.com/net-programming/wpfwindows-presentation-foundation/a-simple-media-player-program-in-c-net-4-0/

答案 4 :(得分:1)

如果您想要更多控制,请使用NAudio(http://naudio.codeplex.com/)或SharpDX(http://sharpdx.org/)。使用SharpDX我已经构建了一个媒体播放器,可以驱动多个声卡(针对不同的区域),具有平滑的淡出功能,可以播放终止歌曲,发布声明等等。