永发信息网

怎么检测电脑是否有声音输出呢?

答案:5  悬赏:50  手机版
解决时间 2021-01-23 22:06
  • 提问者网友:ミ烙印ゝ
  • 2021-01-23 00:21
音响也是好的,声卡驱动也没问题 然后播放音乐文件 视频文件 都能播放 但是就是不出声音,音量调节方面也都检查了没问题 是不是电脑上的接口坏了? 怎么检测看电脑是否有音频输出?
最佳答案
  • 五星知识达人网友:胯下狙击手
  • 2021-01-23 01:34
这样检测电脑声卡是否有声音输出:
1、非常简单:好用的耳机插入声卡绿色(耳机)插孔,好的声卡、好的耳机应该听到播放的声音;
2、以上无听到播放的声音:
A、声卡问题;
B、如果声卡问题检查声卡驱动,驱动正常会在屏幕右下角有‘小喇叭’图标;
C、属性‘屏幕右下角有‘小喇叭’图标’可以设置、把音量开到最大
2、分析这段话:【音响也是好的,声卡驱动也没问题 然后播放音乐文件 视频文件 都能播放 但是就是不出声音,音量调节方面也都检查了没问题 是不是电脑上的接口坏了?】:问题大概出在信号线、信号线接口。
全部回答
  • 1楼网友:行雁书
  • 2021-01-23 04:37
如果是单纯判断声音,那么如果用户还在播放其他音频呢? 你可以尝试获取播放器的前台程序句柄,然后再寻找子控件,找到对应的播放/暂停键判断。 需要使用api,api声明如下: .版本 2 .dll命令 取窗口标题_, 整数型, "user32", "getwindowtexta", , , 取得一个窗体的标题(caption)文字,或者一个控件的内容(在vb里使用:使用vb窗体或控件的caption或text属性)  复制到lpstring的字串长度;不包括空中止字符。会设置getlasterror     .参数 窗口句柄, 整数型, , 欲获取文字的那个窗口的句柄     .参数 缓冲区, 文本型, , 预定义的一个缓冲区,至少有cch+1个字符大小;随同窗口文字载入     .参数 缓冲尺寸, 整数型, , lp缓冲区的长度; .dll命令 getwindowthreadprocessid, 整数型, "user32"     .参数 hwnd, 整数型     .参数 lpdwprocessid, 整数型, 传址 .dll命令 寻找子窗口_, 整数型, "user32", "findwindowexa", , , 在窗口列表中寻找与指定条件相符的第一个子窗口  找到的窗口的句柄。如未找到相符窗口,则返回零。会设置getlasterror     .参数 窗口句柄1, 整数型, , 在其中查找子的父窗口。如设为零,表示使用桌面窗口(通常说的顶级窗口都被认为是桌面的子窗口,所以也会对它们进行查找)     .参数 窗口句柄2, 整数型, , 从这个窗口后开始查找。这样便可利用对findwindowex的多次调用找到符合条件的所有子窗口。如设为零,表示从第一个子窗口开始搜索     .参数 欲搜索的类名1, 文本型, , 欲搜索的类名。“”表示忽略     .参数 欲搜索的类名2, 文本型, , 欲搜索的类名。“”表示忽略; .dll命令 发送消息_, 整数型, "user32", "sendmessagea", , , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。sendmessagebynum, ; sendmessagebystring是该函数的“类型安全”声明形式 由具体的消息决定     .参数 窗口句柄, 整数型, , 要接收消息的那个窗口的句柄     .参数 信息值, 整数型, , 消息的标识符     .参数 参数一, 逻辑型, , 具体取决于消息     .参数 参数二, 整数型, , 具体取决于消息; 在程序集中,调用命令如下: .版本 2 .子程序 api_取组件句柄, 整数型 .参数 父窗口句柄, 整数型 .参数 开始寻找的组件句柄, 整数型, 可空, 如果指定则从该组件开始寻找,为空或为0则从开始寻找。 .参数 欲寻找的组件窗口类名, 文本型, 可空, 欲寻找的组件的窗口类名,为空则寻找所有类型的组件。 .参数 欲寻找的组件文本, 文本型, 可空, 欲寻找的组件的标题、内容等属性,为空则寻找所有组件。 返回 (寻找子窗口_ (父窗口句柄, 开始寻找的组件句柄, 欲寻找的组件窗口类名, 欲寻找的组件文本)) .子程序 api_取窗口标题, 整数型 .参数 句柄, 整数型, , 可以是窗口的,也可以是组件的。 .参数 保存标题的文本变量, 文本型, 参考 .参数 缓冲区长度, 整数型, 可空, 欲保存的结果长度,若取得的结果长度大于本参数则去除多余的文本。为空则默认为255。 .如果真 (是否为空 (缓冲区长度))     缓冲区长度 = 255 .如果真结束 保存标题的文本变量 = 取空白文本 (缓冲区长度) 返回 (取窗口标题_ (句柄, 保存标题的文本变量, 缓冲区长度)) .版本 2 .支持库 eapi .子程序 进程取句柄, 整数型, , 区分大小写 .参数 进程名, 文本型 .局部变量 所有句柄, 文本型, , "0" .局部变量 计次1, 整数型 .局部变量 进程id, 整数型 .局部变量 所有进程, 进程信息, , "0" .局部变量 计次2, 整数型 .局部变量 指定进程id, 整数型 .局部变量 保存, 文本型 所有句柄 = 取所有窗口列表 () 所有进程 = 取系统进程列表 () .计次循环首 (取数组成员数 (所有进程), 计次2)     .如果真 (所有进程 [计次2].进程名称 = 进程名)         指定进程id = 所有进程 [计次2].进程标识符         跳出循环 ()     .如果真结束 .计次循环尾 () .计次循环首 (取数组成员数 (所有句柄), 计次1)     getwindowthreadprocessid (到数值 (所有句柄 [计次1]), 进程id)     保存 = “”     .如果真 (进程id = 指定进程id)         保存 = 所有句柄 [计次1]         跳出循环 ()     .如果真结束 .计次循环尾 () 返回 (到整数 (保存)) 调用实例如下: .版本 2 .支持库 eapi .支持库 spec     寻找的标题 = “win32.rbot专用查杀工具”     窗口列表 = 取所有窗口列表 ()     .计次循环首 (取数组成员数 (窗口列表), temp)         .如果真 (取窗口标题 (到整数 (窗口列表 [temp])) = 寻找的标题)             程序句柄 = 到整数 (窗口列表 [temp])         .如果真结束     .计次循环尾 () 按钮句柄 = 取组件句柄 (程序句柄, 0, “button”, “杀毒”) .判断循环首 (按钮句柄 ≠ 0)     api_取窗口标题 (按钮句柄, 缓冲区, )     .如果真 (缓冲区 = “杀毒”)         跳出循环 ()     .如果真结束     按钮句柄 = 取组件句柄 (程序句柄, , “button”, “杀毒”) .判断循环尾 () api_取窗口标题 (按钮句柄, 缓冲区) .如果真 (缓冲区 = “杀毒”)     发送消息_ (按钮句柄, 245, 真, 0) 这样的效果就是,在所有前台进程中遍历寻找一个窗口标题是“win32.rbot专用查杀工具 ”的应用程序的窗口,获取其句柄,然后在这个窗口中寻找类名为“button”、标题为“杀毒”的子控件。如果是,则单击之。 以上实例代码稍加修改即符合你的要求。 如有疑问请追问。
  • 2楼网友:一把行者刀
  • 2021-01-23 03:54
那就先安装个驱动精灵检查一下是不是没有安装声卡驱动。。。。
  • 3楼网友:英雄的欲望
  • 2021-01-23 03:42
可能是信号线里的地线断开了,台式机---打开音响和音乐。用一长铜线,一头接导电的机箱金属壳,一头接信号输入端的莲花插口的外金属环。声音正常就印证地线断开。找来电筒,缝衣针,找到接口最靠前的第一个触片,用针插入缝隙里适度挑高即可。
  • 4楼网友:第四晚心情
  • 2021-01-23 02:30
是前置面板没声音么,试试插后面的音频口,如果有声音那么应该是驱动设置问题,在控制面板里找到音频驱动控制端,里面把检查前面板端口什么的前面的钩去掉就可以了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯