⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wav_id.c

📁 -一个LINUX下的使用方&#63845 的CD-ROM刻录软件,开放源码
💻 C
字号:
/*	wav_id.c	14.07.99 tn	machine-independent (work both on big and little endian)	code to check if we have valid wavheader that is configured	for cd-quality (16 bit, stereo, 44.1kHz)*/#include <string.h>#include <glib.h>#include "xcdroast.h"/* check if valid wav-header *//* endian independent version *//* return 1 if true, 0 if not */gint is_std_wav_file(guchar *hdr) {gchar tmp[MAXLINE];guint wFormatTag;	strncpy(tmp,(char *) hdr+0,4);	if (strncmp(tmp,"RIFF",4) != 0) 		return 0;	strncpy(tmp,(char *) hdr+8,4);	if (strncmp(tmp,(char *)"WAVE",4) != 0) 		return 0;	strncpy(tmp,(char *) hdr+12,4);	if (strncmp(tmp,(char *)"fmt ",4) != 0) 		return 0;	strncpy(tmp,(char *) hdr+36,4);	if (strncmp(tmp,(char *)"data",4) != 0) 		return 0;	wFormatTag = (hdr[21] << 8) + hdr[20];	if (wFormatTag != 1) 		return 0;	return 1;}/* check if wav-file is in cd-quality *//* endian independent version *//* return 1 if true, 0 if not */gint is_in_cd_quality(guchar *hdr) {guint nChannels;guint wBitsPerSample;guint nSamplesPerSec;	nChannels = (hdr[23] << 8) + hdr[22];	wBitsPerSample = (hdr[35] << 8) + hdr[34];	nSamplesPerSec = (hdr[27]<<24) + (hdr[26]<<16) + (hdr[25]<<8) + hdr[24];	if (nChannels != 2 || wBitsPerSample != 16 || 	    nSamplesPerSec != 44100)		return 0;	return 1; }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -