2025年2月24日 星期一 甲辰(龙)年 腊月廿四 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > .net

C# 使用mciSendString实现播放声音

时间:02-03来源:作者:点击数:22

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

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门