场景, 游戏中获得奖励时一般会触发一个音效.(比如超级马里奥中吃到金币时会发出一个音效)
我想检测到这个音效. 因为除了这个音效, 其他背景音乐和声音都被我关闭了. 所以只要检测到系统发出了声音应该就可以了.
各位大佬, 有啥好的办法推荐吗?
1
CoCoMcRee OP 大佬们, 给点想法呗
|
2
augustheart 2019-09-03 09:44:42 +08:00
此路不通,换思路。
做外挂一般不从声音出发,一般是从图形识别出发 |
3
binxin 2019-09-03 09:47:59 +08:00 1
买一个树莓派 + 声音传感器
|
4
rocketman13 2019-09-03 09:53:49 +08:00
这和 python 有什么关系
|
5
CoCoMcRee OP @rocketman13 我只是希望能利用 python 的一些三方库.
|
6
no1xsyzy 2019-09-03 09:58:34 +08:00
1、没有办法判断是否在发声音,因为只要可以发声音的程序,就一直在发声音,即使是 “静音”
2、全局录音,然后判断响度 |
7
cxl008 2019-09-03 09:59:22 +08:00
声音传感器
|
9
lllllliu 2019-09-03 10:09:34 +08:00
emmm,你只要能拿到 Audio Output 就可以分析 PCM 数据只要当前发出的声音跟你的样本声音差不多就可以。或者如果你能保持其他应用静音,那么 PCM 数据静音的时候是 0,只要大于 0 就是发声啦。
至于怎么拿到 AudioStream 或者管理 AudioSession 可以用虚拟声卡,或者其他 Hook |
10
arrow8899 2019-09-03 10:10:16 +08:00
python 不知道,windows 有对应的 https://docs.microsoft.com/en-us/windows/win32/coreaudio/capturing-a-stream
|
12
arrow8899 2019-09-03 10:16:46 +08:00
|
13
qilishasha 2019-09-03 10:18:26 +08:00 via iPhone 3
图形检测 发现系统声音调节那有波动就认定发声
|
14
stoneabc 2019-09-03 10:20:47 +08:00
@CoCoMcRee 如果要用 python,而且又不想通过调 win 动态链接库的话,那应该只能通过 win32api (应该是这个名字?)这个包了,可以查一下有没有封装音频的 API
|
15
delectate 2019-09-03 10:23:40 +08:00
换个思路,既然都静音了,那么如果文件被调用,或者播放声音的 api 被调用,或者声卡驱动被调用,就可以判定了。
|
16
freeznet 2019-09-03 10:39:56 +08:00
- 模拟声卡 + 数据处理
- hook 声音相关接口 可以 hook 系统层的 也可以逆向一下游戏 hook app 层的 |
17
nnnToTnnn 2019-09-03 11:07:03 +08:00
话说为啥不用 orc 来做,这个很方便啊
|
18
CallMeReznov 2019-09-03 11:09:13 +08:00
如果是播放具体某个声音文件的话,我建议直接系统监控该音频文件是否被调用
|
19
ivan_wl 2019-09-03 11:12:25 +08:00
买一根音频线,一头接输出,一头接输入,然后就检测声音吧
|
20
i0error 2019-09-03 11:19:33 +08:00
13 楼思路不错
|
21
uxstone 2019-09-03 11:25:23 +08:00
呱
|
22
ysc3839 2019-09-03 14:22:27 +08:00
Windows 的话不需要录音,有接口可以获取所有发出声音的进程以及实时音量。
|
23
hehheh 2019-09-03 15:34:01 +08:00
win com 好像是能做这个,我记不太清楚了
|
24
exip 2019-09-03 21:08:04 +08:00 via Android
用 Audacity 调成内录音也就是录系统发出的任何声音,用 python 实时分析录音波形就可以了。
|