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

📄 将wav格式压缩成mp3-c-c++-华夏名网资讯中心 虚拟主机,域名注册,双线虚拟主机,服务器租赁,b style=colorblack;background-color#ff66ff为-b7万用户提供服务.htm

📁 针对wav格式转换为mp3一些相关说明
💻 HTM
📖 第 1 页 / 共 5 页
字号:
  channels, if it’s stereo or mono... There is also a chunk containing the data. 
  In other words, this chunk contains all the samples. In front of the file, 
  there are 12 characters indicating that the file is a <B 
  style="COLOR: black; BACKGROUND-COLOR: #99ff99">wav</B> file. <BR>The two 
  chunks given above must be present in the file. <BR>There could be other chunk 
  but we just ignore them. They are not needed for our purpose. If you want to 
  know more about <B style="COLOR: black; BACKGROUND-COLOR: #99ff99">wav</B> 
  file, take a look at http://www.wotsit.org/ for a complete description. 
  <BR>The format chunk :<BR><BR>struct 
  FormatChunk<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chunkID[4];<BR>&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chunkSize;<BR>&nbsp;&nbsp;&nbsp;&nbsp;short&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wFormatTag;<BR>&nbsp;&nbsp;&nbsp;&nbsp;unsigned 
  short&nbsp;&nbsp;wChannels;<BR>&nbsp;&nbsp;&nbsp;&nbsp;unsigned 
  long&nbsp;&nbsp;&nbsp;dwSamplesPerSec;<BR>&nbsp;&nbsp;&nbsp;&nbsp;unsigned 
  long&nbsp;&nbsp;&nbsp;dwAvgBytesPerSec;<BR>&nbsp;&nbsp;&nbsp;&nbsp;unsigned 
  short&nbsp;&nbsp;wBlockAlign;<BR>&nbsp;&nbsp;&nbsp;&nbsp;unsigned 
  short&nbsp;&nbsp;wBitsPerSample;<BR>&nbsp;&nbsp;&nbsp;&nbsp;// Note: there may 
  be additional fields here, depending upon wFormatTag.<BR>};<BR><BR>Above, you 
  can see the struct representing the format chunk. The chunkID is always "fmt " 
  with an ending space (4 characters). It’s the identification of the chunk. All 
  other chunk have such an ID. The chunkSize parameter contains the number of 
  bytes of the chunk, the ID and chunkSize excluded. <BR>The format chunk must 
  be the first chunk in the file. <BR><BR>The data chunk :<BR>struct 
  Chunk<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;char 
  chunkID[4];<BR>&nbsp;&nbsp;&nbsp;&nbsp;long chunkSize;<BR>};<BR>In the case of 
  the data chunk, the chunkID contains "data". The chunkSize parameters contains 
  the size of the raw data (samples). The data begins just after 
  chunkSize.<BR><BR>In the case of the data chunk, the chunkID contains "data". 
  The chunkSize parameters contains the size of the raw data (samples). The data 
  begins just after chunkSize.<BR>Dans le cas du bloc de données, chunkID 
  contient "data". Le paramètre chunkSize contient la taille du bloc de données 
  proprement dites. Celles-ci commencent juste après chunkSize.<BR>So, when we 
  read a <B style="COLOR: black; BACKGROUND-COLOR: #99ff99">wav</B> file, all we 
  have to do is : <BR>- read the first 12 characters to check if it’s a real <B 
  style="COLOR: black; BACKGROUND-COLOR: #99ff99">wav</B> file. <BR>- read the 
  format chunk in a struct similar to the formatChunk struct. <BR>- skip the 
  extra parameters in the format chunk, if any. <BR>- find the data chunk, read 
  the raw data and carry out with the encoding. <BR>-skip all other 
  chunks.<BR>Donc, ce que nous devons faire est : <BR>- lire les 12 premiers 
  caractères pour déterminer si on est bien en présence d’un fichier <B 
  style="COLOR: black; BACKGROUND-COLOR: #99ff99">wav</B>. <BR>- lire le bloc de 
  format dans une structure similaire à la structure formatChunk. <BR>- ignorer 
  les caractères supplémentaires dans le bloc de format, s’il y en a. <BR>- 
  ignorer tous les blocs qui ne sont pas le bloc de données. <BR>- trouver le 
  bloc de données, lire ces données et lancer l’encodage.<BR><BR>● 4. Importing 
  the DLL<BR>The DLL used for the encoding&nbsp;&nbsp;is called lame_enc.dll. 
  <BR>Unfortunately, this DLL was build with <B 
  style="COLOR: black; BACKGROUND-COLOR: #ffff66">VC</B> 6 from Microsoft. If we 
  just create a lib file from the DLL and try to import the library in BCB, 
  we’ll get an ’Unresolved external error’ at link time for each function we’ll 
  try to use. Due to the declaration type, BCB is expecting a function name with 
  a leading underscore and the function names doesn’t have such a leading 
  underscore. <BR>To resolve this issue, we must, first, create a def file from 
  our DLL. Open a console windows and type :<BR><BR>IMPDEF lame_enc.def 
  lame_enc.dll <BR><BR>Open the lame_enc.def file with an editor (Notepad for 
  instance) and modify it like this. This will create aliases for the functions 
  :<BR>&nbsp;&nbsp;&nbsp;&nbsp;LIBRARY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LAME_ENC.DLL 
  <BR>&nbsp;&nbsp;&nbsp;&nbsp;EXPORTS <BR>&nbsp;&nbsp;&nbsp;&nbsp;_beCloseStream 
  = beCloseStream <BR>&nbsp;&nbsp;&nbsp;&nbsp;_beDeinitStream = beDeinitStream 
  <BR>&nbsp;&nbsp;&nbsp;&nbsp;_beEncodeChunk = beEncodeChunk 
  <BR>&nbsp;&nbsp;&nbsp;&nbsp;_beInitStream = beInitStream 
  <BR>&nbsp;&nbsp;&nbsp;&nbsp;_beVersion = beVersion 
  <BR>&nbsp;&nbsp;&nbsp;&nbsp;_beWriteVBRHeader = beWriteVBRHeader 
  <BR>&nbsp;&nbsp;&nbsp;&nbsp;beCloseStream&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@4 
  <BR>&nbsp;&nbsp;&nbsp;&nbsp;beDeinitStream&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@3 
  <BR>&nbsp;&nbsp;&nbsp;&nbsp;beEncodeChunk&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@2 
  <BR>&nbsp;&nbsp;&nbsp;&nbsp;beInitStream&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@1 
  <BR>&nbsp;&nbsp;&nbsp;&nbsp;beVersion&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@5 
  <BR>&nbsp;&nbsp;&nbsp;&nbsp;beWriteVBRHeader&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@6 
  <BR><BR>Now, we can create the lib file from our def file. We’ll import that 
  lib file in our project. To create the lib file, type :<BR>implib lame_enc.lib 
  lame_enc.def <BR><BR>● 5. The code<BR>First, you have to import the libary in 
  your project. Next, include the header file of the DLL into your unit. In the 
  DLL header file, you have to add extern "C" in front of all exported function. 
  <BR>Here is the header with the moifications (lame_enc.h) 
  :<BR>/*&nbsp;&nbsp;bladedll.h<BR>&nbsp;&nbsp;&nbsp;&nbsp;+++++++++++++++++++++++++++<BR>&nbsp;&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;Blade’s 
  Encoder 
  DLL&nbsp;&nbsp;&nbsp;+<BR>&nbsp;&nbsp;&nbsp;&nbsp;+++++++++++++++++++++++++++<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;------------------------------------------------------<BR>&nbsp;&nbsp;- 
  Version 1.00 (7 November 1998) - Jukka Poikolainen 
  -<BR>&nbsp;&nbsp;------------------------------------------------------<BR>*/<BR>#ifndef 
  ___BLADEDLL_H_INCLUDED___<BR>#define ___BLADEDLL_H_INCLUDED___<BR><BR>#pragma 
  pack(push)<BR>#pragma pack(1)<BR><BR>/* encoding formats */<BR><BR>#define 
  BE_CONFIG_MP3 0<BR>#define BE_CONFIG_LAME 256<BR><BR>/* type definitions 
  */<BR><BR>typedef&nbsp;&nbsp;&nbsp;&nbsp;unsigned 
  long&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HBE_STREAM;<BR>typedef&nbsp;&nbsp;&nbsp;&nbsp;HBE_STREAM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*PHBE_STREAM;<BR>typedef&nbsp;&nbsp;&nbsp;&nbsp;unsigned 
  long&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BE_ERR;<BR><BR>/* error codes 
  */<BR><BR>#define 
  BE_ERR_SUCCESSFUL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000000<BR>#define 
  BE_ERR_INVALID_FORMAT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000001<BR>#define 
  BE_ERR_INVALID_FORMAT_PARAMETERS 0x00000002<BR>#define 
  BE_ERR_NO_MORE_HANDLES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000003<BR>#define 
  BE_ERR_INVALID_HANDLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000004<BR>#define 
  BE_ERR_BUFFER_TOO_SMALL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000005<BR><BR>/* 
  other constants */<BR><BR>#define BE_MAX_HOMEPAGE 256<BR><BR>/* format 
  specific variables */<BR><BR>#define 
  BE_MP3_MODE_STEREO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<BR>#define 
  BE_MP3_MODE_JSTEREO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1<BR>#define 
  BE_MP3_MODE_DUALCHANNEL 2<BR>#define 
  BE_MP3_MODE_MONO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3<BR><BR>#define 
  MPEG1 1<BR>#define MPEG2 0<BR><BR>#ifdef _BLADEDLL<BR>#undef 
  FLOAT<BR>&nbsp;&nbsp;&nbsp;&nbsp;#include 
  &lt;视窗系统.h&gt;<BR>#endif<BR><BR>enum&nbsp;&nbsp;MPEG_QUALITY<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;NORMAL_QUALITY 
  = 
  0,<BR>&nbsp;&nbsp;&nbsp;&nbsp;LOW_QUALITY,<BR>&nbsp;&nbsp;&nbsp;&nbsp;HIGH_QUALITY,<BR>&nbsp;&nbsp;&nbsp;&nbsp;VOICE_QUALITY<BR>};<BR><BR>typedef 
  struct<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;&nbsp;dwConfig;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  BE_CONFIG_XXXXX<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  Currently only BE_CONFIG_MP3 is 
  supported<BR>&nbsp;&nbsp;&nbsp;&nbsp;union<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;struct<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;&nbsp;dwSampleRate;&nbsp;&nbsp;// 
  48000, 44100 and 32000 
  allowed<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BYTE&nbsp;&nbsp;&nbsp;byMode;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  BE_MP3_MODE_STEREO, 
  BE_MP3_MODE_DUALCHANNEL<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  BE_MP3_MODE_MONO<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WORD&nbsp;&nbsp;&nbsp;wBitrate;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  32, 40, 48, 56, 64, 80, 96, 112, 
  128,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  160, 192, 224, 256 and 320 
  allowed<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;&nbsp;bPrivate;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;&nbsp;bCRC;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;&nbsp;bCopyright;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;&nbsp;bOriginal;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<B 
  style="COLOR: white; BACKGROUND-COLOR: #880000">mp3</B>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  BE_CONFIG_MP3<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;struct<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  STRUCTURE 
  INFORMATION<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dwStructVersion;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dwStructSize;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  BASIC ENCODER 
  SETTINGS<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dwSampleRate;&nbsp;&nbsp;&nbsp;// 
  ALLOWED SAMPLERATE VALUES 
  DEPENDS<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  ON 
  dwMPEGVersion<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dwReSampleRate; 
  // DOWNSAMPLERATE, 0=ENCODER 
  DECIDES<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nMode;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  BE_MP3_MODE_STEREO, 
  BE_MP3_MODE_DUALCHANNEL<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  BE_MP3_MODE_MONO<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dwBitrate;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  CBR bitrate, VBR min 
  bitrate<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dwMaxBitrate;&nbsp;&nbsp;&nbsp;// 
  CBR ignored, VBR Max 
  bitrate<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MPEG_QUALITY&nbsp;&nbsp;nQuality;&nbsp;&nbsp;&nbsp;&nbsp;// 
  Quality setting 
  (NORMAL,HIGH,LOW,VOICE)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dwMpegVersion;&nbsp;&nbsp;// 
  MPEG-1 OR 
  MPEG-2<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dwPsyModel;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  FUTURE USE, SET TO 
  0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dwEmphasis;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  FUTURE USE, SET TO 
  0<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  BIT STREAM 
  SETTINGS<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bPrivate;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  Set Private Bit 
  (TRUE/FALSE)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bCRC;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  Insert CRC 
  (TRUE/FALSE)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bCopyright;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  Set Copyright Bit 
  (TRUE/FALSE)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bOriginal;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  Set Original Bit 
  (TRUE/FALSE)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  VBR 
  STUFF<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bWriteVBRHeader; 
  // WRITE XING VBR HEADER 
  (TRUE/FALSE)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bEnableVBR;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  USE VBR ENCODING 
  (TRUE/FALSE)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nVBRQuality;&nbsp;&nbsp;&nbsp;&nbsp;// 
  VBR QUALITY 
  0..9<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BYTE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;btReserved[255]; 
  // FUTURE USE, SET TO 
  0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}LHV1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  LAME header version 
  1<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;struct<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;&nbsp;dwSampleRate;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BYTE&nbsp;&nbsp;byMode;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WORD&nbsp;&nbsp;wBitrate;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BYTE&nbsp;&nbsp;byEncodingMethod;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}aac;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}format;&nbsp;&nbsp;<BR>}BE_CONFIG;<BR><BR><BR>struct 
  BE_VERSION<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;// BladeEnc DLL Version 
  number<BR>&nbsp;&nbsp;&nbsp;&nbsp;BYTE&nbsp;&nbsp;byDLLMajorVersion;<BR>&nbsp;&nbsp;&nbsp;&nbsp;BYTE&nbsp;&nbsp;byDLLMinorVersion;<BR>&nbsp;&nbsp;&nbsp;&nbsp;// 
  BladeEnc Engine Version 
  Number<BR>&nbsp;&nbsp;&nbsp;&nbsp;BYTE&nbsp;&nbsp;byMajorVersion;<BR>&nbsp;&nbsp;&nbsp;&nbsp;BYTE&nbsp;&nbsp;byMinorVersion;<BR>&nbsp;&nbsp;&nbsp;&nbsp;// 
  DLL Release 
  date<BR>&nbsp;&nbsp;&nbsp;&nbsp;BYTE&nbsp;&nbsp;byDay;<BR>&nbsp;&nbsp;&nbsp;&nbsp;BYTE&nbsp;&nbsp;byMonth;<BR>&nbsp;&nbsp;&nbsp;&nbsp;WORD&nbsp;&nbsp;wYear;<BR>&nbsp;&nbsp;&nbsp;&nbsp;// 
  BladeEnc Homepage 
  URL<BR>&nbsp;&nbsp;&nbsp;&nbsp;CHAR&nbsp;&nbsp;zHomepage[BE_MAX_HOMEPAGE + 
  1];<BR>};<BR><BR>#ifndef _BLADEDLL<BR><BR>typedef 
  BE_ERR&nbsp;&nbsp;(*BEINITSTREAM)&nbsp;&nbsp;&nbsp;&nbsp;(BE_CONFIG*, PDWORD, 
  PDWORD, PHBE_STREAM);<BR>typedef 
  BE_ERR&nbsp;&nbsp;(*BEENCODECHUNK)&nbsp;&nbsp;&nbsp;(HBE_STREAM, DWORD, 
  PSHORT, PBYTE, PDWORD);<BR>typedef 
  BE_ERR&nbsp;&nbsp;(*BEDEINITSTREAM)&nbsp;&nbsp;(HBE_STREAM, PBYTE, 
  PDWORD);<BR>typedef 
  BE_ERR&nbsp;&nbsp;(*BECLOSESTREAM)&nbsp;&nbsp;&nbsp;(HBE_STREAM);<BR>typedef 
  VOID&nbsp;&nbsp;&nbsp;&nbsp;(*BEVERSION)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(BE_VERSION*);<BR><BR>#define 
  TEXT_BEINITSTREAM&nbsp;&nbsp;&nbsp;"beInitStream"<BR>#define 
  TEXT_BEENCODECHUNK&nbsp;&nbsp;"beEncodeChunk"<BR>#define TEXT_BEDEINITSTREAM 
  "beDeinitStream"<BR>#define 
  TEXT_BECLOSESTREAM&nbsp;&nbsp;"beCloseStream"<BR>#define 
  TEXT_BEVERSION&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"beVersion"<BR><BR>/* 
  <BR>BE_ERR beInitStream(BE_CONFIG *beConfig, PDWORD dwSamples, PDWORD 
  dwBufferSize, <BR>&nbsp;&nbsp;&nbsp;&nbsp;PHBE_STREAM phbeStream);<BR>BE_ERR 
  beEncodeChunk(HBE_STREAM hbeStream, DWORD nSamples, PSHORT pSamples, PBYTE 
  pOutput,<BR>&nbsp;&nbsp;&nbsp;&nbsp;PDWORD pdwOutput);<BR>BE_ERR 
  beDeinitStream(HBE_STREAM hbeStream, PBYTE pOutput, PDWORD 
  pdwOutput);<BR>BE_ERR beCloseStream(HBE_STREAM hbeStream);<BR>VOID 
  beVersion(BE_VERSION *beVersion);<BR>*/<BR><BR>#else<BR><BR>extern "C" 
  __declspec(dllexport) BE_ERR beInitStream(BE_CONFIG 

⌨️ 快捷键说明

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