android客户端控制PC音量

按键精灵Delphi插件开发完整教程 在自动化脚本开发领域,按键精灵作为一款功能强大的工具,广泛应用于游戏辅助、数据采集、流程自动化等多个场景。而插件系统则是其生态中极为关键的一环,它允许开发者通过扩展方式增强按键精灵的功能边界。插件的本质是通过DLL动态链接库与主程序进行交互,实现功能注入与调用。这种机制不仅提升了脚本的执行效率,也使得功能模块化、可维护性更强。对于资深IT开发者而言,掌握插件开发意味着能够更深入地理解Windows平台下的API调用、内存管理与跨语言通信机制。 阅读详情


前几天,躺在床上玩MX2,电脑放着歌,有点大声。突然想睡觉,但又懒得起床关掉电脑的音乐,无奈之下,就想,要是手机能控制电脑的声音就好了。于是就有了下面的故事:做一个android客户端,用来控制电脑的音量。

大概的思想如下:通过socket来通信,手机客户端通过socket绑定到PC,然后通过发送消失到PC,再由PC进行解析,并进行音量的控制。主要有以下两个阶段。


第一阶段:

PC端,由C++代码来实现,主要考虑到有些电脑不一定能运行java程序。之前很少接触过C++,虽然我现在的工作主要是用C的,但感觉还是差挺多。

之前并没有用C++来控制windows的系统音量,于是在网上查了挺久的资料,才发现需要用mixer来控制。控制的音量的代码如下,封装成一个函数:

void SetVolume(int volume)
{
	DWORD vol;
	HMIXER hMixer;
	MIXERLINE mixerline;
	MIXERLINECONTROLS mcls;
	MIXERCONTROL mc;
	MIXERCONTROLDETAILS mcd;
	MIXERCONTROLDETAILS_UNSIGNED mcd_u;
	
	vol = volume*70000/100;
	mcd_u.dwValue = vol;
	
	try
	{
		if(MMSYSERR_NOERROR == mixerOpen(&hMixer, 0, 0, 0, 0))
		{
			RtlZeroMemory(&mixerline, sizeof(mixerline));
			mixerline.cbStruct = sizeof(MIXERLINE);
			mixerline.dwComponentType = MIXERLINE_COMPONENTTYPE_DST_SPEAKERS;
			if(MMSYSERR_NOERROR == mixerGetLineInfo((HMIXEROBJ)hMixer, &mixerline, MIXER_GETLINEINFOF_COMPONENTTYPE))
			{
				RtlZeroMemory(&mcls, sizeof(mcls));
				mcls.cbStruct = sizeof(MIXERLINECONTROLS);
				mcls.dwLineID = mixerline.dwLineID;
				mcls.dwControlType = MIXERCONTROL_CONTROLTYPE_VOLUME;
				mcls.cControls = 1;
				mcls.cbmxctrl = sizeof(MIXERCONTROL);
				mcls.pamxctrl = &mc;
				
				//		mixerGetControlDetails((HMIXEROBJ)hMixer, (MIXERCONTROLDETAILS *)&mc, MIXER_GETCONTROLDETAILSF_VALUE);
				//		printf("mcd.bound.maxvolume:0x%x\n", mc.Bounds.lMaximum);
				//		printf("mcd.bound.minvolume:0x%x\n", mc.Bounds.lMinimum);
				
				if(MMSYSERR_NOERROR == mixerGetLineControls((HMIXEROBJ)hMixer, &mcls, MIXER_GETLINECONTROLSF_ONEBYTYPE))
				{
					RtlZeroMemory(&mcd, sizeof(MIXERCONTROLDETAILS));
					mcd.cbStruct = sizeof(MIXERCONTROLDETAILS);
					mcd.dwControlID = mc.dwControlID;
					mcd.cChannels = 1;
					mcd.cbDetails = sizeof(MIXERCONTROLDETAILS_UNSIGNED);
					mcd.paDetails = &mcd_u;
					if(MMSYSERR_NOERROR == mixerSetControlDetails((HMIXEROBJ)hMixer,&mcd, MIXER_SETCONTROLDETAILSF_VALUE))
					{
						return;
					}
					
				}
			}
		}
	}
	catch(...)
	{
	}
}

然后只要在main函数的socket中,在接收到客户端的数据后,解析出要设置的音量值,然后调用接口进行设置,就可以了。系统的音量有一个范围,大概是0~7000。如果你要设置的音量是30的话,那就要转换一下了,公式是:客户端传的音量值*7000/100,这样设置的结果才是你想要的效果。


第二阶段:android客户端实现

android刚接触没多少。不过由于之前接触过C#,感觉还是有些类似的。界面布局的话,差不多就一个配置文件。界面主要由一个输入IP的文本框,一个进行创建socket的按钮,以及一个拖动条组成。在创建socket的过程中,有一个问题困扰了我好久,创建socket进行连接的主要代码如下:

					sock = new Socket(tv_ip.getText().toString(), port);
					in = new BufferedReader(new InputStreamReader(sock.getInputStream()));
					out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(
							sock.getOutputStream())), true);
当我一点连接的时候,就异常了,也就是在一运行到sock = new Socket(tv_ip.getText().toString(), port);的时候,程序就异常了,虽然用try进行了捕获,但根本没有,让我好不郁闷,当时又还不怎么熟悉android的调试,也很少看调试信息。最后问了一个编程很牛的同学,在他的指教下,在网上查了下异常信息,才算解决了。具体可以看 http://k-beta.com/android-os-networkonmainthreadexception.html。

终于创建socket是OK了。接下来就是组织数据并发送数据的过程了,这个并没有遇到多大困难。后来又增加了两个按钮,一个是关闭电脑的,一个是重启电脑的。后期的话,还需要将C++的程序完善一下,让它在开机的时候就运行,这样就不用每次都手动去运行了。另外,android客户端也有很多要完善的地方。由于最近工作的原因,时间不够,就暂时搁了。

Advanced Volume Control:用智能手机控制计算机的声音!-开源 此应用程序仅在Windows 10上有效。将您的Smartphone连接到该程序,以控制您的所有设备与Android设备的音量。 您可以在Google Play商店中获取该应用程序,网址为https://play.google.com/store/apps/details?id=com.m1smr.avc。您需要Winrar或类似程序才能解压缩此处下载的.zip文件。 您可以在此处获得Winrar:https://www.win-rar.com/predownload.html?&f = wrar550.exe&spV = true&subD = true&L = 0积分:由MarcelRömerSoftware开发m1smr@m1smr.com Smashicons制作的徽标https ://www.flaticon.com/authors/smashicons 立即下载

相关推荐

详解STM32F407双重ADC同步采集与DMA传输的配置技巧及实战应用

本文详细解析了STM32F407双重ADC同步采集与DMA传输的配置技巧及实战应用。通过CubeMX配置、代码实现和常见问题解决方案,帮助开发者高效实现多通道数据同步采集,提升工业自动化和嵌入式系统的数据采集效率与精度。

ii567的博客 364

电脑控制手机-帮你在电脑上录制手机屏幕和声音

为了制作手游攻略视频,我苦苦寻找录屏软件。要录手机屏,要同步录制声音,还要在电脑端录制,手机端的录屏软件不行。手游攻略主要是要看游戏竞技细节,手机屏实在太小,每次要在电脑端放大看,才发现瑕疵,导致反复录制,特别耗时。终于我找到了一款叫Total Control的手机投屏录屏软件,将手机投屏到电脑大屏,我一边录手机屏,一边在电脑端看手机画面,十分方便,同时手机声音一并录制,简单好用。Total Co...

lemon5814的博客 7724

Canoe Panel基础功能介绍

CANoe Panel 是 Vector CANoe 软件中用于设计图形化操作界面的功能模块。用户可以在面板上添加合适的控件,实时的改变信号或者变量的值

m0_56208280的博客 1950

如何用手机控制电脑或电脑控制手机?

近期,App Store应用商店限免迎来一款强大的电脑遥控软件——MiniMouse。这款软件原价为12元,目前已经支持免费下载。MiniMouse不仅支持连接Windows XP/Vista/7/8/10和MAC电脑,同时还支持iPhone手机之间的互连,能够轻松帮助您使用手机控制电脑。下面来具体看看它的功能吧! 推荐阅读:How to Turn Android Phone into Wir...

Tech-Net的博客 1万+

【电弧故障检测算法全解析,电弧串扰问题分析和解决算法】

本文系统分析了电弧故障检测算法及串扰问题解决方案。电弧检测主要采用时频域分析和机器学习方法,通过提取高频噪声、波形畸变等特征实现故障识别。针对电弧串扰问题,提出了自适应滤波、盲源分离和时频联合分析等算法。研究给出了Python和C语言的算法实现示例,包括高频能量检测、过零率计算和陷波滤波器设计。最后指出算法优化方向:实时性提升可采用滑动窗口FFT和硬件加速;抗干扰增强需结合硬件滤波;机器学习扩展可引入随机森林等分类器。该研究为电弧故障检测系统开发提供了完整的技术路线。

syttt的专栏 891

海思3559av100平台lan9500模块调试记录

1. 前言 通过USB2.0接口扩展一路百兆虚拟网口 2. 配置lan9500驱动 make ARCH=arm64 menuconfig 开启LAN95XX驱动,编译进内核 保存内核配置 3. 编译内核 make ARCH=arm64 CROSS_COMPILE=aarch64-himix100-linux- uImage -j 20 cd ../../arm-trusted-firmware/arm-trusted-firmware ./mk.sh cp ...

jzwjzw19900922的博客 908

android控制手机系统声音

http://blog.youkuaiyun.com/zhudaozhuan/article/details/7366613 手机声音包含系统声音和媒体声音。在程序中,往往需要对手机系统声音进行控制,可以通过AudioManager类达到此效果。虽然是对系统声音进行控制,但是不需要注册任何系统权限。 [java] view plaincopy

leeo1010的专栏 1224

腾讯Android开发面试指南与参考答案

腾讯深圳元宝高级Android开发工程师岗位要求3-5年Android开发经验,熟悉Kotlin和性能优化,具备架构设计能力。岗位职责包括元宝Android客户端研发、稳定性优化及跨团队协作。面试重点考察Kotlin、Jetpack Compose、多线程编程等核心技术,3轮线上面试流程较快。无AI项目经验也可应聘,需突出展示Android架构设计、性能调优等实战能力。建议准备Compose开发、算法等加分项案例。

郑伟强dev的专栏 1133

按键精灵_按键精灵教程打码平台接入

金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想制作脚本和学习按键精灵的朋友可以添加按键精灵学习交流群:554127455 学习路上不再孤单,金猪脚本伴你一同成长.作为提高登陆或者操作的安全性的一种方式,验证码是最常见的...

weixin_28700181的博客 3992

44位abogus补环境与纯算逆向分析

44位ab参数补环境与纯算加密流程逆向分析

吴秋霖的博客 2774

2、集中式MIMO雷达研究进展:正交波形设计与信号处理

集中式多输入多输出(Multiple Input Multiple Output,MIMO)雷达通常利用正交波形增加发射波形 自由度,采用数字阵列拓展空间收发自由度,使得雷达接收机的天线孔径获得明显扩展,最终带来空间分辨率、 测角精确度、杂波抑制能力等大幅度提升。但是,这些性能提升的前提是发射波形具有正交特性。事实上,在 实际应用中,在不牺牲时域/频域资源情况下,受限于时宽带宽积,无法获得完全正交的波形集合,从而限制了 MIMO雷达系统性能。本文对集中式MIMO雷达正交波形复用的技术原理进行了系统回顾,分别

qq_43416206的博客 2772

安卓按键精灵_[按键精灵手机版教程]安卓3.0按键使用教程

金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想制作脚本和学习按键精灵的朋友可以添加按键精灵学习交流群:554127455 学习路上不再孤单,金猪脚本伴你一同成长.大家盼望已久的安卓3.0按键终于华丽丽的登场了。 想必大...

weixin_35795675的博客 4938

SAP Word 模板与 ABAP XML 数据流合并机制深度解析

Office Open XML 标准把一个.docx拆分成多个部件(document.xml、customXml\item1.xml 等),天然支持命名空间与 XPath;Word 在渲染时,会扫描<w:sdt>(结构化文档标签)与来确定绑定关系;在 ABAP 端,通过简单字符串替换与 XSLT 变换即可完成数据灌入,无需 COM Automation,安全且易于调试。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 372

ios 按键精灵_按键精灵手机助手【v3.3免root使用方法】

1、目前免ROOT支持点一点、本地脚本的使用,录制和调试暂不支持免ROOT使用;(1)点一点:点击底部的+号即可新建点一点脚本,然后必须通过“已下载”列表中启动游戏或应用(通过桌面启动将导致无法免root)。(2)本地脚本:点击“我的”可以查看本地脚本,选择要运行的脚本后,必须通过“已下载”列表中启动游戏或应用(通过桌面启动将导致无法免root)。(3)需要使用录制和调试功能的话,请将手机连接电脑...

weixin_39685024的博客 4739

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

python调用按键精灵插件_按键精灵教程打码平台接入

金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想制作脚本和学习按键精灵的朋友可以添加按键精灵学习交流群:554127455 学习路上不再孤单,金猪脚本伴你一同成长.作为提高登陆或者操作的安全性的一种方式,验证码是最常见的...

weixin_39520353的博客 1177

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

按键精灵的发展

按键精灵的发展 按键精灵于2001年7月7日诞生,至今已经十年了。在这期间经历了很多变迁,而如今按键精灵依然挺立于中国原创软件行列,并获得了越来越多朋友的支持与认同! 在这十年期间按键精灵一直专注于研发易学易用的软件制作工具,并提供多种低成本的软件销售解决方案,为没有受过专业计算机教育的人提供了创业之路。 按键一路走来按键精灵发布了1.0、2.0......9.0等9个版本,从最初的只有键盘鼠标命...

Songxiaoc的博客 1671

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

怎么写安卓手机脚本_史上最牛掰按键精灵手机版教材

这篇教程给大家介绍一下按键精灵手机助手的相关操作和用途.,下图就是按键精灵手机助手的编辑界面.下面我们讲解一下什么是按键精灵手机助手,以及按键精灵手机助手的用途,相信大部分使用按键精灵的朋友都是从按键精灵的APP或者按键小精灵(即指脚本),又或者是从游戏蜂窝中认识的按键精灵,对于新手朋友来说可以对于按键精灵手机助手并不是很熟悉.导致绝大多数朋友对于按键精灵手机助手都很陌生.从而产生了脚本开发的误区...

weixin_39910963的博客 2074

IOS版aplayer使用教程_[按键精灵手机版教程]安卓3.0按键使用教程

金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想制作脚本和学习按键精灵的朋友可以添加按键精灵学习交流群:554127455 学习路上不再孤单,金猪脚本伴你一同成长.大家盼望已久的安卓3.0按键终于华丽丽的登场了。 想必大...

weixin_39757743的博客 973

python游戏按键无效_叨叨一下按键精灵团队新上线的UiBot

这是奔跑的键盘侠的第91篇文章前一阵按键精灵的弹窗广告换成了企业UiBot,这让我眼前一亮,今天总算有点时间一探究竟。相信大家都知道按键精灵的妙用,早期应用比较广泛的场景有游戏挂机、办公辅助,以及衍生出的很多其他用途。而按键精灵的赢利点无非这么几个:VIP会员,脚本交易区佣金,弹窗广告以及网站的其他商务合作等等。虽说这些年也出了很多附加产品,诸如按键精灵安卓版、简单游、商业小精灵等等,后...

weixin_39875760的博客 983

python 桌面精灵_金猪脚本教大家如何制作按键小精灵

金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想学习按键精灵的朋友可以添加金猪脚本粉丝交流群:554127455 学习路上不再孤单,金猪脚本伴你一同成长.怎么制作按键小精灵看下面流程一、什么是按键小精灵 按键小精灵是把按...

weixin_39934640的博客 854

Python&按键精灵自动化_Python基础:了解Python与pycharm

认识 Python 人生苦短,我用 Python —— Life is short, you need Python目标Python 的起源为什么要用 Python?Python 的特点Python 的优缺点01. Python 的起源 Python 的创始人为吉多·范罗苏姆(Guido van Rossum)1989 年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的解释程...

weixin_39886251的博客 799

炉石传说JAVA脚本怎么写_安卓按键精灵源码分享,安卓炉石传说脚本

本帖最后由 ugly 于 2019-4-9 18:34 编辑为了避免争吵,本帖不适应无编程基础的人或很酸的人,请alt+F4谢谢。之前本人发布的炉石传说安卓自动刷金币使用经常出问题,原因在于本人特懒。 所有循环均写在一个Do loop 循环内。所以有些小毛病,关键懒得更新了。自己没啥问题,所以把几个自用的函数发布出来和使用教程。有任何编程语言基础均可写出比楼主更好的逻辑判断的脚本。附带楼主自动的源...

weixin_39884078的博客 3710

来也科技总裁、按键精灵之父,给开发者的一封信

2021 年 7 月,Gartner 发布了《2021 年 RPA 魔力象限》报告。来也科技作为首次入围的中国厂商代表,与 UiPath 等全球 18 家 RPA 厂商被重点推荐。Gartner 特别指出来也科技的优势之一是“合作伙伴和开发者生态”,认为拥有 500 多个合作伙伴、超过 40 万名开发者,是来也科技相比于其他厂商的巨大优势,这是一股足以颠覆行业生态的强大力量! 40 多万中国 RPA 开发者!自此,闪亮登场,正式亮相于世界级权威推荐。 来也科技联席 CEO 兼总裁,按键精灵之父李玮,发出了这

sunsorrow的博客 1848

安卓setclicklistener函数没有_几十年都没有这么全了命令

本帖持续更新按键精灵手机版图文解答,解答内容包含6大部分第1部分:零基础入门讲解和环境搭建图文讲解.第2部分:基础命令和运算符命令实战图文演示.第3部分:扩展命令和标准库函数命令图文讲解分析.第4部分:插件命令,文件操作命令,多线程命令实操图文讲解.第5部分:静态UI界面和动态UI界面以及通过emoji美化UI界面图文解答.第6部分:实战教程图文思路分解,包括全自动办公脚本,游戏辅助脚本,引流脚本...

weixin_39555715的博客 69
上一篇: jmeter之“聚合报告”
下一篇: OnClickListener启动对应按钮的Activity
rfasm
博客等级 码龄17年 2粉丝 6原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值