找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 31574|回复: 7

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

[复制链接]
发表于 2016-3-30 09:50:15 | 显示全部楼层 |阅读模式
我有个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
发表于 2016-3-30 11:17:30 | 显示全部楼层
回复 1# B魔方大人
论坛里一大堆,地址http://batch-cn.qiniudn.com/tool/xxd.exe
xxd 321321.arm
 楼主| 发表于 2016-3-30 13:37:21 | 显示全部楼层
回复 2# happy886rr


    你好,可能是我描述的有问题,我不知道该怎么描述。
但想要的结果,就像我贴出的vbs与c++代码的得到的结果一样。
真不知该怎么来描述
发表于 2016-3-30 18:18:44 | 显示全部楼层
就是读二进制流.
发表于 2016-4-12 23:54:21 | 显示全部楼层
批处理的变量长度仅 8192 字符,且不能含有 00 字符
话说,你都会用 c++ 了,还纠结批处理干嘛...
 楼主| 发表于 2016-4-16 17:49:27 | 显示全部楼层
回复 5# CrLf


    您好,真是对不起,今天才看到回复。
对于此问题,一是想知道批处理有没有处理的方法,二是想知道c++应该怎么返回这样的音频数据到批处理的变量中。
谢谢您的回答,那么就此结贴。
发表于 2018-6-19 12:19:14 | 显示全部楼层
回复 5# CrLf


    我还专门测试了一下批处理能处理的变量最大长度,没想到大侠16年就给出了答案
发表于 2018-6-20 00:05:39 | 显示全部楼层
回复 7# wwjjyyff


    前人总结
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 12:13 , Processed in 0.022154 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表