在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只适用于命令串接口方式(命令串中不区分大小写)。