我正在制作音乐播放器,这个程序出现了问题。
这就是我播放音乐播放器的方式。
[DllImport("winmm.dll")]
private static extern long mciSendString(string strCommand, StringBuilder strReturn, int iReturnLength, IntPtr hwndCallback);
OpenFileDialog openMusic = new OpenFileDialog();
private void PlayPause_Click(object sender, EventArgs e)
{
openMusic.Title = "openMusic";
openMusic.Filter = "music files (*.mp3, *.wav, *.flac)|*.mp3;*.wav;*.flac";
openMusic.RestoreDirectory = true;
mciSendString("open \"" + targetMusic + "\" type mpegvideo alias MediaFile", null, 0, IntPtr.Zero);
Stop.Enabled = true;
if (PlayPause.Text.Equals("▶"))
{
mciSendString("play MediaFile", null, 0, IntPtr.Zero);
PlayPause.Text = "||";
}
else
{
mciSendString("pause MediaFile", null, 0, IntPtr.Zero);
PlayPause.Text = "▶";
}
}
确实有效。但是,如果我播放的是具有专辑图像的音乐文件,则无效。这个程序不能播放那种音乐文件,而是没有专辑图像的音乐文件。
所以,我看到了带有HxD的音乐文件,音乐文件中有一个图像文件。 我认为必须提取该图像。
如果我的想法是对的,你能告诉我怎么做吗?
如果我的想法不对,我该怎么做?