LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C# 调用系统声音的完整指南

admin
2025年2月23日 22:37 本文热度 30
在Windows应用程序中,播放系统声音是一个常见的需求。本文将详细介绍在C#中调用系统声音的多种方法,并提供具体的代码示例。

使用 System.Media.SystemSounds 类

基本使用方法

System.Media.SystemSounds 类提供了最简单的系统声音播放方式,包括常见的系统提示音。

using System.Media;

// 播放不同类型的系统声音
SystemSounds.Asterisk.Play();   // 信息提示音
SystemSounds.Beep.Play();       // 基本蜂鸣声
SystemSounds.Exclamation.Play();// 警告声
SystemSounds.Hand.Play();       // 错误提示音
SystemSounds.Question.Play();   // 询问声

完整示例代码

using System.Media;

namespace AppSystemSound
{
    public partial class Form1 : Form
    {
        public Form1()
        
{
            InitializeComponent();
        }

        private void btnPlayAsterisk_Click(object sender, EventArgs e)
        
{
            SystemSounds.Asterisk.Play();
        }

        private void btnPlayBeep_Click(object sender, EventArgs e)
        
{
            SystemSounds.Beep.Play();
        }

        private void btnPlayExclamation_Click(object sender, EventArgs e)
        
{
            SystemSounds.Exclamation.Play();
        }
    }
}

使用 Windows API 播放声音

通过 winmm.dll 播放系统声音

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;

namespace AppSystemSound
{
    publicclass WindowsApiSoundPlayer
    {

        // 导入 Windows API 函数
        [DllImport("winmm.dll")]
        public static extern int PlaySound(string lpszSoundName, IntPtr hModule, uint dwFlags);

        // 声音播放标志
        publicconst uint SND_FILENAME = 0x00020000;
        publicconst uint SND_SYNC = 0x0000;

        public static void PlaySystemSound(string soundPath)
        
{
            PlaySound(soundPath, IntPtr.Zero, SND_FILENAME | SND_SYNC);
        }

        public static void PlayWindowsDefaultSound(string soundEvent)
        
{
            // 播放 Windows 默认声音事件
            PlaySound(soundEvent, IntPtr.Zero, 0x00040000 | 0x00000000);
        }
    }
}
public static void PlayWindowsDefaultSound(string soundEvent)
{
    // 播放 Windows 默认声音事件
    PlaySound(soundEvent, IntPtr.Zero, 0x00040000 | 0x00000000);
}

注意

  1. 系统声音播放依赖于系统设置和音频硬件
  2. 某些方法可能需要特定的 Windows 权限
  3. 对于复杂音频需求,建议使用专业音频库

总结

C# 提供了多种播放系统声音的方法,从简单的 SystemSounds 到复杂的 Windows API 和第三方库,开发者可以根据具体需求选择合适的方案。


该文章在 2025/2/24 9:28:36 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved