使用C#,如何播放(暂停,转发...)声音文件(mp3,ogg)?该文件可能位于硬盘上,也可能位于互联网上。
那里有没有可以让我轻松工作的图书馆或班级?
答案 0 :(得分:7)
如果您不介意在项目中包含 Microsoft.VisualBasic.dll ,可以这样做:
var audio = new Microsoft.VisualBasic.Devices.Audio();
audio.Play("some file path");
如果你想做更复杂的事情,我所知道的最简单的方法是使用 Windows Media Player API 。您添加DLL,然后使用它。 API有点笨重,但确实有效;我用它来制作我自己的音乐播放器包装Windows Media Player供个人使用。以下是一些有用的链接,可帮助您入门:
Building a Web Site with ASP .NET 2.0 to Navigate Your Music Library
修改强>
自从我写这篇文章以来,如果您不介意在代码中包含WPF类,我会找到一种更简单的方法。 WPF(.NET 3.0和转发版)有一个MediaPlayer类,它是Windows Media Player的包装器。这意味着您不必编写自己的包装器,这很好,因为如上所述,WMP API相当笨重且难以使用。
答案 1 :(得分:4)
我会推荐BASS Library。 它可以播放基于文件的音乐文件和流媒体内容。 还有一个.NET包装器。
答案 2 :(得分:2)
Alvas.Audio有RecordPlayer课程,有以下几种可能性:
public static void TestRecordPlayer()
{
RecordPlayer rp = new RecordPlayer();
rp.PropertyChanged += new PropertyChangedEventHandler(rp_PropertyChanged);
rp.Open(new Mp3Reader(File.OpenRead("in.mp3")));
rp.Play();
rp.Forward(1000);
rp.Pause();
}
static void rp_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
switch (e.PropertyName)
{
case RecordPlayer.StateProperty:
RecordPlayer rp = ((RecordPlayer)sender);
if (rp.State == DeviceState.Stopped)
{
rp.Close();
}
break;
}
}
答案 3 :(得分:0)
答案 4 :(得分:0)
媒体播放器控制 - 基本上是媒体播放器使用的。您可以将它放在您的程序中,并且可以使用一个API来控制它。我认为这是最好的快速解决方案。