Mp3文件解析

   // Struct_Mp3.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<stdio.h>
#include<stdlib.h>


int _tmain(int argc, _TCHAR* argv[])
{
 struct  MUSIC_TITAL_INFO
 {
  char ID3v1TAG[3];//存储标题信息
  char Artist[30];   //存储歌手信息
  char Album[30];   //存储专辑信息
  char YEAR[4];   //存储年代信息
  char Comments[28];  //存储备注信息,28个字节(有时为字节)
  char Genre;    //存储音乐风格信息,保留位,个字节
  char Reserved;   //保留位,个字节(有时没有意思
  char Track;    //音轨(曲号)保留位,个字节(有时没有)
 };

 struct MUSIC_TITAL_INFO music_mp3={0,0,0,0,0,0};
 char music_buf[128]={0};
 char filename[80] = "E://test.mp3";


 FILE *fp_mp3;
 fp_mp3 = fopen( filename, "rb" ) ;
 //打开失败
 if(fp_mp3 == NULL )
 { 
  printf("Open failed! Try it again!");
  getchar();                             
  return -1;
 }
 
 //打开成功
 fseek(fp_mp3,-128,SEEK_END);

 if( fread(music_buf,128,1,fp_mp3 ) == 0)//读入标签
 {
  printf( "fgets error/n" );
 }
 else
 {
  memcpy(&music_mp3,music_buf,sizeof(music_mp3));
  printf( "歌曲标签:%.3s/n歌    手: %.30s/n专    辑: %.30s/n年    代: %.4s/n备    注: %.28s/n",
   music_mp3.ID3v1TAG,
   music_mp3.Artist,
   music_mp3.Album,
   music_mp3.YEAR,
   music_mp3.Comments);//注意“.”的用法。
 }


 fclose(fp_mp3);


 printf("Press any key to continue....");
 getchar();
 
 return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值