如何把数组文件转化成mp3或midi

studyrandy 2010-08-15 04:08:56
之前有个小工具把mp3或midi转化成数组数据的,只是原音频文件丢了,想把这个数组文件再转回mp3或,不知道怎么弄

__align(2) static const unsigned char cs05_mp3[] = {
0x49,0x44,0x33,0x03,0x00,0x00,0x00,0x00,0x01,0x76,0x54,0x43,0x4F,0x4E,0x00,0x00,
...
}

__align(4) static const unsigned char Aclassical04_mid[] = {
0x4D,0x54,0x68,0x64,0x00,0x00,0x00,0x06,0x00,0x01,0x00,0x02,0x00,0x78,0x4D,0x54,
...
}
判断数组里面的前4个字符,来决定文件是以mp3或mid格式保存
有个思路就是读取.h文件里面的数组数据(就一个数组),把数组里的字符转化为数字后以后缀mid或mp3保存。目前对file操作不怎么了解。
...全文
220 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
studyrandy 2010-08-19
  • 打赏
  • 举报
回复
在aa[]中填充转化后的数据就可以逆转了。
不过太傻瓜了,生成的EXE不能通用,每次想转还得编译。想做成把文件拖到到exe上就可以读取的,同时在exe相对路径中生成对应音频文件
studyrandy 2010-08-18
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <windows.h>


static unsigned int aa[] ={

};

int main(void)
{
FILE *pF;
unsigned int si;
unsigned int i;

si=sizeof(aa);
if((aa[0]==0x49)&&(aa[1]==0x44))
{
pF=fopen((char *)"D:\\c2bin\\mymid.mp3","ab");
}
else
{
pF=fopen((char *)"D:\\c2bin\\ndx_onoff.mid","ab");
}
if (NULL==pF)
{
printf("open write file error!!");
return 1;
}

for (i = 0; i < si; i++)
{
putc(aa[i], pF);
}

fclose(pF);
return 0;
}
studyrandy 2010-08-18
  • 打赏
  • 举报
回复
是的,呵呵
搞了个傻瓜程序
swl82560397pq 2010-08-15
  • 打赏
  • 举报
回复
兄台做的是MTK平台吧、

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧