在C#中,你可以使用mciSendString函数来播放声音。mciSendString函数是Windows Multimedia API中的一部分,它允许你发送多媒体命令字符串给设备,以执行各种操作,包括播放声音。
以下是一个简单的C#示例,演示如何使用mciSendString来播放声音文件:
using System;
using System.Runtime.InteropServices;
class Program
{
[DllImport("winmm.dll")]
private static extern long mciSendString(string lpstrCommand, string lpstrReturnString, int uReturnLength, IntPtr hwndCallback);
static void Main()
{
string soundFile = "C:\\Path\\To\\Your\\SoundFile.mp3"; // 替换为你的声音文件路径
PlaySound(soundFile);
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
static void PlaySound(string soundFile)
{
string command = $"open \"{soundFile}\" type mpegvideo alias MySound";
mciSendString(command, null, 0, IntPtr.Zero);
command = "play MySound";
mciSendString(command, null, 0, IntPtr.Zero);
}
}
请确保替换soundFile变量的值为你实际的声音文件路径。此示例使用了winmm.dll库中的mciSendString函数,首先通过open命令打开声音文件,然后使用play命令播放声音。
上述代码中使用的路径分隔符是双反斜杠 \\,或者你也可以使用单反斜杠 /。确保你的声音文件路径正确,并且声音文件的类型受支持(上述代码中假设是mpegvideo类型,你可能需要根据实际情况更改)。
MCI(Media Control Interface,媒体控制接口)函数中,有些只适用于一种接口方式,有些则两种接口都可以用。mciSendString只适用于命令串接口方式(命令串中不区分大小写)。