go语言让windows发出声音,或者播放音乐

go语言让windows发出声音,或者播放音乐的例子:会发出alert警告的声音

( 这是我应群员的求助写的, 如果你需要了解其中的调用原理或过程 或更多go语言调用win32api的资料,加群: 218160862 , 答案我告诉你)

package main

func main(){

winSound()

}

// golang 让windows发出警告的声音  todo 需要完善播放mp3之类

func winSound(  )  {

funInDllFile, err := syscall.LoadLibrary("Winmm.dll") // 调用的dll文件

if err != nil {

print("cant not call : syscall.LoadLibrary , errorInfo :" + err.Error())

}

defer syscall.FreeLibrary(funInDllFile)

// 调用的dll里面的函数是:

funName := "PlaySound"

// 注册一长串调用代码,简化为 _win32Fun 变量.

win32Fun, err := syscall.GetProcAddress(syscall.Handle(funInDllFile), funName)

// 通过syscall.Syscall6()去调用win32的xxx函数,因为xxx函数有3个参数,故需取Syscall6才能放得下. 最后的3个参数,设置为0即可

_, _, err = syscall.Syscall6(

uintptr(win32Fun),                                                                             // 调用的函数名

3,                                                                                                     // 指明该函数的参数数量

uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr("alert") ) ),                    // 该函数的参数1. 可通过msdn查找函数名 查参数含义

// SystemStart

uintptr( 0 ),                                                                                       // 该函数的参数2.

uintptr( 0 ),                                                                                       // 该函数的参数3.

0,

0,

0 )

}

时间: 2024-10-28 16:04:59

go语言让windows发出声音,或者播放音乐的相关文章

关于Windows 8使用WMP播放音乐时WUDFHost跑CPU和硬盘的问题解决

Windows 8使用Windows Media Player播放音乐的时候,其实有一个这样的情况,WMP和某个什么名字看起来很屌的进程跑CPU很高,这个跑很高视你插入的SD卡内的文件数或者移动硬盘的文件数来定,如果文件很多,这个跑起来可以把系统都快卡死. 就像下面这样: 原因: WMP命令WPD系统服务去扫描外部移动存储,它用于更新媒体库. 系统服务就去访问那个移动设备,不断的扫描遍历移动设备的文件,所以IO和CPU使用很高,导致系统卡,读取访问缓慢. 解决: 打开服务,找到Portable

简单代码在ABAP中实现声音的播放

这段代码的功能是在SAP里面实现声音的播放,可以用作程序提醒功能,和SAP里面’噹噹噹’那个声音的意思差不多.将来在项目中遇到客户想要SAP ABAP发出一点声音的时候就可以参考一下这个程序. REPORT zplay.DATA: command TYPE string. *本地命令语句CONCATENATE ‘vbscript:execute(”document.write ””<bgsound src=’”‘file:///”+Replace(”C:\lg\Bad Romance.mp3“,

【转载】关于C#中声音的播放

转自 http://www.cnblogs.com/chenjiahong/articles/2716552.html C#中声音的播放主要有三种方法: 1.使用API函数. 2.使用SoundPlayer类播放. 3.使用DirectX进行播放. 一.使用API函数进行播放 windows操作系统中的winmm.dll文件中封装了声音处理的函数.在C#中我们可以通过平台调用的方式使用这里边的API函数来播放声音. 下边的类中使用了PlaySound.sndPlaySound.mciSendSt

Winform Windows Media Player 简易播放器

新手上路,高手勿进! 窗体设计: 实现效果: 实现代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using Sy

Windows基础-使用XAudio2播放音频(本质是WASAPI)

对于常见的音频播放,使用XAudio2足够了. 时间是把杀猪刀,滑稽的是我成了猪 早在Windows Vista中,M$推出了新的音频架构UAA,其中的CoreAudio接替了DSound.WaveXxx.MediaFundation,通过Core Audio APIs,Windows的音频性能可以与MacOS X相媲美(手动偷笑). Universal Audio Architecture (UAA) CoreAudio属于UAA,只在用户层进行一系列音频处理,而系统内核只负责递交缓冲数据给音

第八章 让开发板发出声音:蜂鸣器驱动

这一章的主要内容是让开发板发出声音——蜂鸣器驱动,在Linux驱动开发中重点也学习了这一部分内容,同时最后我们小组的考核内容是通过中断控制蜂鸣器发七个音符的音. 这一部分中,要中断控制蜂鸣器,在中断和蜂鸣器代码的基础上进行增加.中断与蜂鸣器的代码不变,在中断的测试代码中,首先要定义七个音符,之后将开发板上的七个键与七个音符相连接,再将七个音符的转换与蜂鸣器相连接,来达到所需的效果. 核心代码: int main() { int fd,fd1; int div; int keyval; fd1 =

cocos2d游戏界面卡住声音正常播放的问题分析

cocos2d游戏界面卡住声音正常播放的问题分析 从目前已知的情况看,出现这种情况只可能是设备的内存不够导致的. 从代码上来说内存不够时会调用AppController的“- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application;"方法. // purge memory - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application

让开发板发出声音:蜂鸣器驱动

第八章介绍了一个个实验:蜂鸣器驱动,让开发板发出声音. 将介绍蜂鸣器的实现原理,并实现一个完整的蜂鸣器驱动,通过该驱动可以控制蜂鸣器的打开与关闭. 蜂鸣器也称为PWM脉冲宽度调制,基本原理就是通过脉冲来控制蜂鸣器的打开和停止.蜂鸣器是开发板上带的一个硬件设备,可以通过向寄存器写入特定的值来控制蜂鸣器发出的声音.本节介绍了蜂鸣器的实现原理,并实现一个完整的蜂鸣器驱动,可以打开和关闭.PWM驱动的实现方式不同于LED驱动,PWM驱动由多个文件组成,这也是大多数Linux驱动的标准实现方式. Linu

第8章 让开发板发出声音,蜂鸣器驱动 心得体会

第8章让开发板发出声音,蜂鸣器驱动 心得体会 通过学习Android深度探索(卷1)HAL与驱动开发的第8章 让开发板发出声音,蜂鸣器驱动,我加深对驱动的认识.以下主要是我对本节实验和参考在Linux驱动开发中使用PWM控制蜂鸣器中的一些见解. 先编写一个简单的蜂鸣器驱动程序,根据开发板上的硬件IO接口和Android驱动规范,在kernel中的driver目录中新建一个Buzzer文件,新建一个buzzer.c的源文 在目录下创建一个Makefile文件 先运行make clean命令清楚到编