lxylxy0423 发表于 2020-2-19 18:55

【C语言】“QQ语音提取器”的改进

声明:转载请注明出处。
最近,在一个QQ群里发现一些人发的语音很好玩,想把它们提取出来。
用搜到的软件直接提取,发现不行,满屏的错误提示。
原来,这些语音文件格式有问题,不是标准的。
根据https://www.52pojie.cn/thread-414047-1-1.html这篇文章的做法,确实可以提取到语音,可是:
我有200多个语音文件,一个一个改要累死我呀!!!
于是,用C语言写了一个小工具 ,可以真正做到轻松提取QQ语音。
二话不说,上代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define bufferLen 1024
int main(int argc,char *argv[])
{
FILE *finp , *foutp;

char buffer;
int Count;

if(argc != 3) return 1;

if( (finp=fopen(argv, "rb")) == NULL || (foutp=fopen(argv, "wb")) == NULL ){
printf("Cannot open file\n");
exit(1);
}

fseek(finp , 1 , SEEK_SET);//向后位移一个字节

while( (Count=fread(buffer, 1, bufferLen, finp)) > 0 ){
fwrite(buffer, Count, 1, foutp);
}

fclose(finp);
fclose(foutp);

return 0;
}
使用vs2010编译通过

如果你下载的是网盘里的链接,那么请修改bat的内容
如下
@echo off
for %%i in (*.slk) do (
ChangeType.exe %%i "%%i.o"
Decoder_debug.exe "%%i.o" %%i.pcm
del "%%i.o"
)
接着把编译后的exe放到文件夹中,并重命名为ChangeType.exe
后面就简单了,把语音文件拖到文件夹里,并双击运行批处理。
执行完后再用pcm2wav转换就行了。怎么操作自行百度。


什么?你连C语言编译器都没有?!好吧,下面给个附件。如果你会使用编译器,那就自己编译,实在不行就来下载下面的附件吧。
因为文件太大,只能用7z了。zip里面没有解决方案,只有工具

lxylxy0423 发表于 2020-2-19 19:03

网盘链接在这个帖子里面https://www.52pojie.cn/thread-414047-1-1.html
如果挂了就百度搜索:slk文件转换器下载
详细教程:https://jingyan.baidu.com/article/ab0b563088c4adc15afa7db6.html

lxylxy0423 发表于 2020-2-19 19:04

第一次发帖,如有违规请版主告知

时凌梦 发表于 2020-2-19 19:27

楼主好牛,感谢楼主的工具

李红星 发表于 2020-2-19 19:56

厉害了,666

jefel 发表于 2020-2-19 20:41

是个好办法!!

杨小帼 发表于 2020-2-19 21:38

厉害666{:301_1009:}

丿终结者 发表于 2020-2-19 23:50

不错的工具{:1_909:}

wan43 发表于 2020-9-1 10:46

厉害了 楼主,666
页: [1]
查看完整版本: 【C语言】“QQ语音提取器”的改进