Board logo

标题: [文件操作] [已解决]如何读取音频文件的二进制流数据【不用js/vbs/hta混编方案】 [打印本页]

作者: B魔方大人    时间: 2016-3-30 09:50     标题: [已解决]如何读取音频文件的二进制流数据【不用js/vbs/hta混编方案】

我有个arm或者wav音频文件,须要post这个文件数据到某地址进行处理。【不用js/vbs/hta混编方案】
可以用第三方,但也麻烦大大们介绍下第三方怎么返回arm文件数据的。
用vbs读取arm文件数据的过程是:
  1. With CreateObject("ADODB.Stream")
  2. .Type = 1
  3. .Open
  4. .LoadFromFile "321321.arm"
  5. audiodata = .Read(-1)
  6. .Close
  7. End With
复制代码
这里通过stream对象以二进制方式读取arm文件,然后post audiodata到某个地址。

用c++实现过程是:
  1. FILE *fp = fopen("321321.arm","r");
  2. char *audiodata = (char *)malloc(音频长度);
  3. fread(audiodata,音频长度,sizeof(char),fp);
  4. fclose(fp);
复制代码
这里通过fread从文件流中读取数据,然后post audiodata到某个地址。

那么,用批处理该怎么实现读取音频文件数据呢?
如果是用第三方,可否介绍下第三方的处理过程(比如,c++怎么把audiodata返回给批处理,并存储到变量A中),谢谢了。
当然了,如果批处理能直接处理最好了。

音频附件:http://pan.baidu.com/s/1jIk05Ps
作者: happy886rr    时间: 2016-3-30 11:17

回复 1# B魔方大人
论坛里一大堆,地址http://batch-cn.qiniudn.com/tool/xxd.exe
xxd 321321.arm
作者: B魔方大人    时间: 2016-3-30 13:37

回复 2# happy886rr


    你好,可能是我描述的有问题,我不知道该怎么描述。
但想要的结果,就像我贴出的vbs与c++代码的得到的结果一样。
真不知该怎么来描述
作者: codegay    时间: 2016-3-30 18:18

就是读二进制流.
作者: CrLf    时间: 2016-4-12 23:54

批处理的变量长度仅 8192 字符,且不能含有 00 字符
话说,你都会用 c++ 了,还纠结批处理干嘛...
作者: B魔方大人    时间: 2016-4-16 17:49

回复 5# CrLf


    您好,真是对不起,今天才看到回复。
对于此问题,一是想知道批处理有没有处理的方法,二是想知道c++应该怎么返回这样的音频数据到批处理的变量中。
谢谢您的回答,那么就此结贴。
作者: wwjjyyff    时间: 2018-6-19 12:19

回复 5# CrLf


    我还专门测试了一下批处理能处理的变量最大长度,没想到大侠16年就给出了答案
作者: CrLf    时间: 2018-6-20 00:05

回复 7# wwjjyyff


    前人总结




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2