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

📄 blademp3encdll.h

📁 Audacity是一款用於錄音和編輯聲音的、免費的開放源碼軟體。它可以執行於Mac OS X、Microsoft Windows、GNU/Linux和其它作業系統
💻 H
字号:
/* * Blade DLL Interface for LAME. * * Copyright (c) 1999 A.L. Faber * Based on bladedll.h version 1.0 written by Jukka Poikolainen * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. *  * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. *  * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA  02111-1307, USA. */#ifndef ___BLADEDLL_H_INCLUDED___#define ___BLADEDLL_H_INCLUDED___#pragma pack(push)#pragma pack(1)/* encoding formats */#define		BE_CONFIG_MP3			0										#define		BE_CONFIG_LAME			256		/* type definitions */typedef		unsigned long			HBE_STREAM;typedef		HBE_STREAM				*PHBE_STREAM;typedef		unsigned long			BE_ERR;/* error codes */#define		BE_ERR_SUCCESSFUL					0x00000000#define		BE_ERR_INVALID_FORMAT				0x00000001#define		BE_ERR_INVALID_FORMAT_PARAMETERS	0x00000002#define		BE_ERR_NO_MORE_HANDLES				0x00000003#define		BE_ERR_INVALID_HANDLE				0x00000004#define		BE_ERR_BUFFER_TOO_SMALL				0x00000005/* other constants */#define		BE_MAX_HOMEPAGE			128/* format specific variables */#define		BE_MP3_MODE_STEREO		0#define		BE_MP3_MODE_JSTEREO		1#define		BE_MP3_MODE_DUALCHANNEL	2#define		BE_MP3_MODE_MONO		3#define		MPEG1	1#define		MPEG2	0#ifdef _BLADEDLL#undef FLOAT	#include <Windows.h>#endif#define CURRENT_STRUCT_VERSION 1#define CURRENT_STRUCT_SIZE sizeof(BE_CONFIG)	// is currently 331 bytes/* OBSOLETE, VALUES STILL WORKtypedef enum {	NORMAL_QUALITY=0,	LOW_QUALITY,	HIGH_QUALITY,	VOICE_QUALITY} LAME_QUALTIY_PRESET;*/typedef enum {	LQP_NOPRESET=-1,	// STANDARD QUALITY PRESETS	LQP_NORMAL_QUALITY=0,	LQP_LOW_QUALITY,	LQP_HIGH_QUALITY,	LQP_VOICE_QUALITY,	// NEW PRESET VALUES	LQP_PHONE	=1000,	LQP_SW		=2000,	LQP_AM		=3000,	LQP_FM		=4000,	LQP_VOICE	=5000,	LQP_RADIO	=6000,	LQP_TAPE	=7000,	LQP_HIFI	=8000,	LQP_CD		=9000,	LQP_STUDIO	=10000} LAME_QUALTIY_PRESET;typedef struct	{	DWORD	dwConfig;			// BE_CONFIG_XXXXX								// Currently only BE_CONFIG_MP3 is supported	union	{		struct	{			DWORD	dwSampleRate;	// 48000, 44100 and 32000 allowed			BYTE	byMode;			// BE_MP3_MODE_STEREO, BE_MP3_MODE_DUALCHANNEL, BE_MP3_MODE_MONO			WORD	wBitrate;		// 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 and 320 allowed			BOOL	bPrivate;					BOOL	bCRC;			BOOL	bCopyright;			BOOL	bOriginal;			} mp3;					// BE_CONFIG_MP3			struct			{			// STRUCTURE INFORMATION			DWORD			dwStructVersion;				DWORD			dwStructSize;			// BASIC ENCODER SETTINGS			DWORD			dwSampleRate;	// SAMPLERATE OF INPUT FILE			DWORD			dwReSampleRate;	// DOWNSAMPLERATE, 0=ENCODER DECIDES  			LONG			nMode;			// BE_MP3_MODE_STEREO, BE_MP3_MODE_DUALCHANNEL, BE_MP3_MODE_MONO			DWORD			dwBitrate;		// CBR bitrate, VBR min bitrate			DWORD			dwMaxBitrate;	// CBR ignored, VBR Max bitrate			LONG			nPreset;		// Quality preset, use one of the settings of the LAME_QUALITY_PRESET enum			DWORD			dwMpegVersion;	// FUTURE USE, MPEG-1 OR MPEG-2			DWORD			dwPsyModel;		// FUTURE USE, SET TO 0			DWORD			dwEmphasis;		// FUTURE USE, SET TO 0			// BIT STREAM SETTINGS			BOOL			bPrivate;		// Set Private Bit (TRUE/FALSE)			BOOL			bCRC;			// Insert CRC (TRUE/FALSE)			BOOL			bCopyright;		// Set Copyright Bit (TRUE/FALSE)			BOOL			bOriginal;		// Set Original Bit (TRUE/FALSE)						// VBR STUFF			BOOL			bWriteVBRHeader;	// WRITE XING VBR HEADER (TRUE/FALSE)			BOOL			bEnableVBR;			// USE VBR ENCODING (TRUE/FALSE)			INT				nVBRQuality;		// VBR QUALITY 0..9			DWORD			dwVbrAbr_bps;		// Use ABR in stead of nVBRQuality			BOOL			bNoRes;				// Disable Bit resorvoir			BYTE			btReserved[255-2*sizeof(DWORD)];	// FUTURE USE, SET TO 0			} LHV1;					// LAME header version 1		struct	{			DWORD	dwSampleRate;			BYTE	byMode;			WORD	wBitrate;			BYTE	byEncodingMethod;		} aac;	} format;		} BE_CONFIG, *PBE_CONFIG;typedef struct	{	// BladeEnc DLL Version number	BYTE	byDLLMajorVersion;	BYTE	byDLLMinorVersion;	// BladeEnc Engine Version Number	BYTE	byMajorVersion;	BYTE	byMinorVersion;	// DLL Release date	BYTE	byDay;	BYTE	byMonth;	WORD	wYear;	// BladeEnc	Homepage URL	CHAR	zHomepage[BE_MAX_HOMEPAGE + 1];		BYTE	byAlphaLevel;	BYTE	byBetaLevel;	BYTE	byMMXEnabled;	BYTE	btReserved[125];} BE_VERSION, *PBE_VERSION;			#ifndef _BLADEDLLtypedef BE_ERR	(*BEINITSTREAM)			(PBE_CONFIG, PDWORD, PDWORD, PHBE_STREAM);typedef BE_ERR	(*BEENCODECHUNK)		(HBE_STREAM, DWORD, PSHORT, PBYTE, PDWORD);typedef BE_ERR	(*BEDEINITSTREAM)		(HBE_STREAM, PBYTE, PDWORD);typedef BE_ERR	(*BECLOSESTREAM)		(HBE_STREAM);typedef VOID	(*BEVERSION)			(PBE_VERSION);typedef VOID	(*BEWRITEVBRHEADER)		(LPCSTR);#define	TEXT_BEINITSTREAM		"beInitStream"#define	TEXT_BEENCODECHUNK		"beEncodeChunk"#define	TEXT_BEDEINITSTREAM		"beDeinitStream"#define	TEXT_BECLOSESTREAM		"beCloseStream"#define	TEXT_BEVERSION			"beVersion"#define	TEXT_BEWRITEVBRHEADER	"beWriteVBRHeader"#else__declspec(dllexport) BE_ERR	beInitStream(PBE_CONFIG pbeConfig, PDWORD dwSamples, PDWORD dwBufferSize, PHBE_STREAM phbeStream);__declspec(dllexport) BE_ERR	beEncodeChunk(HBE_STREAM hbeStream, DWORD nSamples, PSHORT pSamples, PBYTE pOutput, PDWORD pdwOutput);__declspec(dllexport) BE_ERR	beDeinitStream(HBE_STREAM hbeStream, PBYTE pOutput, PDWORD pdwOutput);__declspec(dllexport) BE_ERR	beCloseStream(HBE_STREAM hbeStream);__declspec(dllexport) VOID		beVersion(PBE_VERSION pbeVersion);__declspec(dllexport) BE_ERR	beWriteVBRHeader(LPCSTR lpszFileName);#endif#pragma pack(pop)#endif// Indentation settings for Vim and Emacs and unique identifier for Arch, a// version control system. Please do not modify past this point.//// Local Variables:// c-basic-offset: 3// indent-tabs-mode: nil// End://// vim: et sts=3 sw=3// arch-tag: bc0f4c41-2a1d-4c74-b2fb-021057e0ff0e

⌨️ 快捷键说明

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