社区
Delphi
帖子详情
请问:如何编程控制PC的音量增加或减少,可否给段代码?
baby999
2001-03-04 09:18:00
...全文
165
3
打赏
收藏
请问:如何编程控制PC的音量增加或减少,可否给段代码?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
baby999
2001-03-04
打赏
举报
回复
老兄:我希望控制系统的总的音量,就是双击系统托盘代表音量的小喇叭图标后,显示的音量控制窗口中的第一项;你的第一种方法只能控制wave波形音量,而不能控制midi,cd音量。我希望的是用一段代码控制总的音量,不区分哪种类型。
多谢老兄!
TechnoFantasy
2001-03-04
打赏
举报
回复
我这里有VB代码:
http://www.applevb.com/sourcecode/vol%20control.zip
bill_lasker
2001-03-04
打赏
举报
回复
给,接住:
《 {用Delphi实现控制左右声道音量} 》
{ 已经有很多文章介绍过控制总音量的方法,但控制左右声道音量的方法却很少有文章介绍,本人介绍一种用Delphi实现控制左右声道音量的妙法,希望能给你的程序添彩。
一、调节全部音量
1.先在窗体中添加一个trackbar控件,可通过改变它的位置来调节音量,在trackbar1的属性中,我们把Max属性修改成255,改成这个值是为了便于进行二进制的音量调节操作。
2.为了调用一个Windows函数,在uses子句里加上Mmsystem。
3.为trackbar1的Onchange事件编写如下代码:
procedure Tform1.TrackBar1change(Sender:Tobject);
var t,v:longint;// t的最大值为8位的二进制:11111111;用v来表示音量的大小,这是个32位的整数,高16位表示右声道的音量,低16位表示左声道的音量
begin
t:=trackbar1.Position;//得到Trackbar的位置,可用这个值来表示音量的大小
v:=(t shl 8) or (t shl 24);//将t左移8位、24位
waveoutsetvolume(0,v);//设置音量
end;
二、分别控制两个声道的方法
1.控制左声道
procedure Tform1.TrackBar1change(Sender:Tobject);
var t,v:longint;
begin
t:=trackbar1.Position;
waveoutgetvolume(0,@v);//@表示指向变量v的指针(32位),调用此函数的用意就是得到右声道的值,做到在调节左声道的时候,不改变右声道
v:=v and $ffff0000 or (t shl 8);//数字前面加$表示是十六进制数字
waveoutsetvolume(0,v);
end;
2.控制右声道
procedure Tform1.TrackBar2change(Sender:Tobject);
var t,v:longint;//它的原理同上
begin
t:=trackbar2.Position;
waveoutgetvolume(0,@v);
v:=v and $0000ffff or (t shl 24);
waveoutsetvolume(0,v);
end;
三、设置滑块的初始位置
1.程序开始执行时,缺省情况下,Trackbar的位置在0,但我们希望程序开始执行时,这两个滑块能自动得到当前的音量,而处在相应的位置。
procedure TForm1.FormCreate(Sender: TObject);
var v:longint;
begin
waveoutgetvolume(0,@v);//得到现在音量
trackbar1.Position:=hi(v);//设置左滑块的正确位置
trackbar2.Position:=hi(v shr 16);//设置右声道滑块的正确位置
end;
注:函数hi(v)的作用为:返回一个16位无符号整数的高8位值。如果v为32位,则高16位自动被忽略了。
2.只使用高8位时,可使调节效果更明显。
3.对波形文件可以用waveoutgetvolume函数,对cd文件可以用auxgetvolume函数。
注:以上程序均在Delphi 5.0,Windows 98SE下调试通过。}
PC
-1500的
代码
存入WAV文件
目录 第1章保存1 1.1 操作1 1.2 波形说明4 1.3 波形整形5 1.4 压缩8 第2章载入9 2.1 操作9 2.2
音量
9 第3章 wav2bin
代码
解析10 3.1 读取一个数据位10 第1章保存 本章将介绍如何把
PC
-1500机内的BASIC
代码
保存到
PC
...
赤壁&
PC
游戏
编程
PC
游戏
编程
发表日期:2007-01-17作者:[转贴] 出处: - 目录 1 游戏程序理论 1.1 技术基础 1.2 游戏底层 1.3 编写规则 1.4 程序设计 1.5 制作流程 1.6 程序调式 1.7
代码
优化 2 游戏实践讨论 2.1 制作概况 2.2 模块
PC
游戏
编程
目录1 游戏程序理论1.1 技术基础1.2 游戏底层1.3 编写规则1.4 程序设计1.5 制作流程1.6 程序调式1.7
代码
优化2 游戏实践讨论2.1 制作概况2.2 模块划分2.3 游戏引擎2.4 关键讨论2.5 希望1 游戏程序理论 我做游戏的历史只有三年,我所写的内容都只
MPlayerGUI源
代码
解析与应用深入探索
本文还有配套的精品资源,点击获取 简介:MPlayerGUI是一款基于MPlayer的图形用户界面工具,提供播放多种视频和音频格式的便捷方式。本文将深入探讨MPlayerGUI的源
代码
结构、工作原理以及如何进行二次开发。核心为MPlayer的命令行媒体播放器,MPlayerGUI通过封装MPlayer的命令行操作在GUI中,使得用户能够通过直观的界面
控制
播放等操作。文章还讨...
编写跨平台浮动窗口
代码
的实战指南
本文还有配套的精品资源,点击获取 简介:浮动窗口是一种可在屏幕上自由移动并悬浮于其他应用之上的窗口,常用于提供快捷操作或实时信息显示。本文介绍了在不同操作系统上实现浮动窗口的方法,包括Windows、macOS、Linux、Java、Python以及Web平台。详细讲解了利用各自平台的API和框架,如Windows API、Cocoa、Qt、AWT/Swing、Tkinte...
Delphi
5,928
社区成员
262,931
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章