您当前的位置:首页 > 计算机 > 编程开发 > .net

C# 使用mciSendString实现播放声音

时间:02-03来源:作者:点击数:
CDSY,CDSY.XYZ

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

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