windows 用什么API设置线路输入音量

windows 用什么API设置线路输入音量,第1张

在本示例中要用到的API函数为SendMessage()函数。SendMessage()函数用于调用一个窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessage()函数的原型如下:

Private Declare Function SendMessage Lib "

user32.dll" Alias "SendMessageA" (ByVal hwnd As

Long, ByVal wMsg As Long, ByVal wParam As Long,

ByVal lParam As Long) As Long

SendMessage()函数的参数说明:

Hwnd:为一个长整型表达式,其值用来表示要接缺唤拦收消息的那个窗口的句柄。

wMsg:为一个长整型表达式,其值表示消息的标识符。

wParam:为一个长整型表达式,其值表示具体取决于消息。

lParam:为一个长整型表达式,其值表示具体取决于消息。

要实现控制声卡音量大小,其 *** 作步骤如下:

(1)新建一个工程,工程名为"控制声卡"。在窗体上添加3个Command控件,Command1的Caption属性为"音量++"、Command2的Caption属性为"音量- -"、Command3的Caption属性为"静音"。

(2)双击窗体,在打开的代码窗体中输入以下代码:

'声明API

Private Declare Function SendMessage Lib "user32.

dll" Alias "SendMessageA" (ByVal hwnd As Long,

ByVal wMsg As Long, ByVal wParam As Long, ByVal

lParam As Long) As Long

Private Const WM_APPCOMMAND As Long = &H319 '定义API

函数所用到的常量

Private Const APPCOMMAND_VOLUME_UP As Long = 10

Private Const APPCOMMAND_VOLUME_DOWN As Long =9

Private Const APPCOMMAND_VOLUME_MUTE As Long = 8

Private Sub Command1_Click()'音量++按钮

'调用SendMessage()

函数来实现声卡上的音量增加

SendMessage Me.hwnd, WM_APPCOMMAND, &H30292,

APPCOMMAND_VOLUME_UP *&H10000

End Sub

Private Sub Command2_Click()'音量-按钮

'调用SendMessage()

函数来实现声卡上的音量减少

SendMessage Me.hwnd, WM_APPCOMMAND, &H30292,

APPCOMMAND_VOLUME_DOWN * &H10000

End Sub

Private Sub Command3_Click()'静音按钮

'调用

SendMessage()函数来实现声卡伏胡静音

SendMessage Me.hwnd, WM_APPCOMMAND, &H200EB0,

APPCOMMAND_VOLUME_MUTE * &H10000

End Sub

运行程序,在窗体上单击"音量++"按钮可实现声卡的音量增加、"音量- -"按钮可实现声卡的音量减少、"静音"按钮可实现声卡的静音。可将本示例应用到本章中的其他示例中,以实现对声卡的音量进行控制链尘。

通过本小节中的一些示例可发现,通过使用API函数能方便地对计算机中一些系统设置,使用API函数能够实现VB本身不能实现的功能

这个API只能播放wav格式的音频文件!MP3不行

第三那个参数常量含义,至于这些常量转换成数值是多少,可以用ET助手,按F12,输入#就会有语法提示!鼠标移过去可以看到数值

SND_APPLICATION

用应用程序指定的关联来播放声音

SND_ALIAS

pszSound参数指定了注册表或WIN.INI中的系统事件的别名。

SND_ALIAS_ID

pszSound参数指定了预定义的声音标识符。

SND_ASYNC

用异步方式播放声音,PlaySound函数在开始播放后立即返回。

SND_FILENAME

pszSound参数指定了WAVE文件名。

SND_LOOP

重复播放声音,必须与SND_ASYNC标志一块使用。

SND_MEMORY

播放载入到内存中的声音,此时pszSound是指向声音数据的指针。

SND_NODEFAULT

不播放缺省声音,若无此标志,则PlaySound在没找到声音时会播放缺省声音。

SND_NOSTOP

PlaySound不打断原来的声音播出并立即返回FALSE。

SND_NOWAIT

如果驱动程序正忙则函数就不播放声音并立郑喊键即返回。

SND_PURGE

停止所有与调用任务有关的声音。若参数pszSound为NULL,就停止所有的声音,否则,停止pszSound指定的声音。

SND_RESOURCE

pszSound参数是WAVE资源的标识符,这时要用到hmod参数。

SND_SYNC

同步喊巧播放声音,在播放完后PlaySound函数才返回。

SND_SYSTEM

如果是背景窗口,

如果这个标志被设置,声音是分配到音频会议系统通知的声音。系统音渗纳量控制程序(sndvol)显示音量滑块控制系统通知的声音。设置该标志将下控制音量滑块。如果没有设置该标志,声音是分配到默认的音频会议的应用进程。更多信息,请参阅文档的核心音频API的软件开发工具包


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12226017.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存