我正在尝试使用本指南在C#中播放MP3文件:http: //www.crowsprogramming.com/archives/58
我正在列出所有内容,但我仍然无法在我的C#程序中播放任何音乐.谁能告诉我我做错了什么?
static void Main(string[] args)
{
WMPLib.WindowsMediaPlayer a = new WMPLib.WindowsMediaPlayer();
a.URL = "song.mp3";
a.controls.play();
}
Run Code Online (Sandbox Code Playgroud)
音乐文件"Song"位于bin文件夹中.
Joe*_*yle 10
我没有使用Windows Media Player COM对象,但这里是一个替代方法的链接.(我不是作者.)它使用pinvoke调用winmm.dll来播放MP3.我在Windows Server 2008上测试了它,它运行得很好.
这是一个使用链接代码的示例类.
using System.Runtime.InteropServices;
public class MP3Player
{
private string _command;
private bool isOpen;
[DllImport("winmm.dll")]
private static extern long mciSendString(string strCommand,StringBuilder strReturn,int iReturnLength, IntPtr hwndCallback);
public void Close()
{
_command = "close MediaFile";
mciSendString(_command, null, 0, IntPtr.Zero);
isOpen = false;
}
public void Open(string sFileName)
{
_command = "open \"" + sFileName + "\" type mpegvideo alias MediaFile";
mciSendString(_command, null, 0, IntPtr.Zero);
isOpen = true;
}
public void Play(bool loop)
{
if(isOpen)
{
_command = "play MediaFile";
if (loop)
_command += " REPEAT";
mciSendString(_command, null, 0, IntPtr.Zero);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我会尝试以下几件事:
1) 完全限定该 .mp3 文件的路径,以防万一。2)尝试a.Ctlcontrols.play(); 反而。
另外,我几乎可以肯定您正在尝试加载一个 Windows(ActiveX 控件)。它可能需要 Windows 上下文才能加载和工作。我确信还有另一种播放 .mp3 的方法,因为我以前用过它,但我找不到代码。但它可能是 DirectX SDK 的一部分。希望有帮助。
| 归档时间: |
|
| 查看次数: |
47774 次 |
| 最近记录: |