我需要有关执行mp3播放器文件的帮助。我在互联网上搜索,我发现只有当我需要从外部目录中获取一个mp3文件时才能使用winmm.dll libreary。我需要为我的应用程序的内部目录修改它。
让我们看一下代码:
我像这样创建Mp3Player类:
class Mp3Player : IDisposable
{
[DllImport("winmm.dll")]
private static extern long mciSendString(string lpstrCommand, StringBuilder lpstrReturnString, int uReturnLength, int hwndCallback);
public void open(string file)
{
const string FORMAT = @"open ""{0}"" type MPEGVideo alias MyMp3";
string command = String.Format(FORMAT, file);
mciSendString(command, null, 0, 0);
}
public void play()
{
string command = "play MyMp3";
mciSendString(command, null, 0, 0);
}
public void stop()
{
string command = "stop MyMp3";
mciSendString(command, null, 0, 0);
}
public void Dispose()
{
string command = "close MyMp3";
mciSendString(command, null, 0, 0);
}
public double Duration()
{
string command = "status MyMp3 length";
double bho = mciSendString(command, null, 0, 0);
return bho;
}
请致电打开内部文件:
var soundfile = "Assets/audio/myaudio.mp3";
private Mp3Player _mp3player = new Mp3Player();
_mp3player.open(soundfile);
_mp3player.play();
这给我打开文件的错误,所以我确定问题出在我发送给类的目录路径中。我尝试了一些版本,但没有人工作,在互联网上找不到任何帮助我。你们中的一些人可以说我正确的工作方式吗?
非常感谢大家。
对不起我的英语非常糟糕。
答案 0 :(得分:0)
根据Windows Mobile上的this forum,所有波形音频功能都在' coredll.dll'中实现。使用此DLL而不是' winmm.dll'。