QQ自动发送语音脚本源码分享

大家好,我是公号3分钟学堂的郭立员!今天这篇文章是:QQ发送语音脚本源码分享

按键精灵本身提供了playsound命令来播放音频文件,但是这个命令有很明显的局限性,作为外放音乐的工具还可以,但是对于我们今天的主题——发送语音就不太好用了,说两点原因啊。

只能单一的发送语音,如果是模拟器多开就会出现串音的问题。

通过外发获取音频的,在给app录制,就会有杂音问题。

所以我们选择另外一种方式:替换音频文件。

先来看看效果如何啊:

通过上面动态图片可以看到我录制的语音只有3秒钟,但是发送的语音却可以播放10多秒钟,很明显两者不是同一个音频,这是因为我在录制完音频之后,用了一个预先准备好的10多秒音频替换录制的音频,然后才去发送出去,这种操作就是偷梁换柱了。

接下来我以雷电模拟器发送QQ录音为例,来讲解一下具体的操作过程。

一、找到录音文件存放在哪里。

上图是音频文件路径的截图,大家可以根据这个音频的属性来查找到对应的路径。我这里把路径写出来:

/sdcard/tencent/MobileQQ/767894495/ptt/201904/3/

需要注意几点:

①.截图中/storage/emulated/0用/sdcard替换了,这个我不只说过一遍了,还是有很多朋友不知道,其实大多数手机上遇到路径中有/0/,也是这样替换的。

②.767894495是我的测试QQ号,你在使用的时候必须要换成你自己当前操作的QQ号

③.路径中201904/3/是当前的日期,属于动态变化的内容,可以通过获取当前日期得到。

Dim datearr=split(date(),"/")

Dim yue=datearr(0)&datearr(1)

Dim ri=right(datearr(2),1)

TracePrint yue,ri

下一步是获取音频文件的名称:

这里用的山海插件的遍历文件命令,也就是把你写的路径文件夹里面的文件名称全部获取出来,然后选择最新的那个文件。

Import "shanhai.lua"

dim a=ShanHai.ScanPath(path)

Dim n=UBound(a)

TracePrint a(n)

得到的QQ录音文件是slk后缀的。

二、脚本的重点替换音频文件。

在上一步已经获取到录制文件了,接下来我们用预先准备好的文件替换它。使用到的命令是dir.Copy,关于这个命令的使用方法自己去查看命令介绍,另外自己要发送的文件也是slk格式,不是常见的MP3,一般我是手动用QQ录制一段,格式一样可以直接使用。(源代码中文件路径1就是我准备的音频文件)

这个脚本基本就是这些内容,唯一的难点可能就是获取最新的录制音频文件路径了。

源文件在下面我会提供,使用的时候不要无脑复制,不同设备、不同分辨率都不能直接用,你自己把每一行代码都看明白了再去使用。

这里用的是QQ发送录音功能而不是对讲功能,因为录音是生成音频和发送音频分离的,这样我们就可以在发送之前有时间替换文件,这点也非常重要。

源代码分享:

Import "shanhai.lua"

Dim datearr=split(date(),"/")

Dim yue=datearr(0)&datearr(1)&"/"

Dim ri=right(datearr(2),1)&"/"

TracePrint yue,ri

Dim path="/sdcard/tencent/MobileQQ/767894495/ptt/"&yue&ri

Dim 文件路径1="/sdcard/pictures/stream_2019033011330407.slk"

Tap 362, 1069

Delay 3000

Tap 362, 1069

Delay 1000

dim a=ShanHai.ScanPath(path)

Dim n=UBound(a)

TracePrint a(n)

Dim 文件路径2=path&a(n)

Delay 100

TracePrint dir.Copy(文件路径1,文件路径2)

Delay 100

Tap 515,1242

你可能感兴趣的:(QQ自动发送语音脚本源码分享)