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

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

📁 针对wav格式转换为mp3一些相关说明
💻 HTM
📖 第 1 页 / 共 5 页
字号:
  *beConfig,<BR>&nbsp;&nbsp;&nbsp;&nbsp;PDWORD dwSamples, PDWORD dwBufferSize, 
  PHBE_STREAM phbeStream);<BR>extern "C" __declspec(dllexport) 
  BE_ERR&nbsp;&nbsp;beEncodeChunk(HBE_STREAM 
  hbeStream,<BR>&nbsp;&nbsp;&nbsp;&nbsp;DWORD nSamples, PSHORT pSamples, PBYTE 
  pOutput, PDWORD pdwOutput);<BR>extern "C" __declspec(dllexport) 
  BE_ERR&nbsp;&nbsp;beDeinitStream(HBE_STREAM 
  hbeStream,<BR>&nbsp;&nbsp;&nbsp;&nbsp;PBYTE pOutput, PDWORD pdwOutput); extern 
  "C" __declspec(dllexport) BE_ERR&nbsp;&nbsp;beCloseStream(HBE_STREAM 
  hbeStream);<BR>extern "C" __declspec(dllexport) 
  VOID&nbsp;&nbsp;&nbsp;&nbsp;beVersion(BE_VERSION 
  *beVersion);<BR><BR>#endif<BR>#pragma pack(pop)<BR>#endif<BR><BR>As you can 
  see in the header above, you have to add&nbsp;&nbsp;#define _BLADEDLL into 
  your .cpp file before including the header.<BR><BR>Below, you’ll find the code 
  of a little application which takes a <B 
  style="COLOR: black; BACKGROUND-COLOR: #99ff99">wav</B> file in input and 
  encode the file to <B style="COLOR: white; BACKGROUND-COLOR: #880000">mp3</B>. 
  I don’t give more explanations because the code is very straightforward and 
  commented. It is not very elegant but it’s just to show how to use the 
  DLL.<BR><BR>File 
  Format.h<BR>//---------------------------------------------------------------------------<BR>#ifndef 
  Format_H<BR>#define 
  Format_H<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>// This is 
  the start ID of a Wave file<BR>// must contains ’RIFF’ and ’WAVE’<BR>char 
  startID[12];<BR><BR>// contains the chunk id (’data’, ’cue ’ ...) and the 
  chunk size<BR>struct 
  Chunk<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>};<BR><BR>// 
  a pointer to the samples in the data chunk<BR>unsigned 
  char&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*WaveformData;<BR><BR>//---------------------------------------------------------------------------<BR>#endif<BR><BR><BR>File 
  Unit1_H.h<BR>//---------------------------------------------------------------------------<BR>#ifndef 
  Unit1H<BR>#define 
  Unit1H<BR>//---------------------------------------------------------------------------<BR>#include 
  &lt;Classes.hpp&gt;<BR>#include &lt;Controls.hpp&gt;<BR>#include 
  &lt;StdCtrls.hpp&gt;<BR>#include &lt;Forms.hpp&gt;<BR>#include 
  &lt;Dialogs.hpp&gt;<BR>//---------------------------------------------------------------------------<BR>class 
  TForm1 : public TForm<BR>{<BR>__published:&nbsp;&nbsp;// IDE-managed 
  Components<BR>&nbsp;&nbsp;&nbsp;&nbsp;TOpenDialog 
  *OpenDialog1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;TEdit 
  *FileEdit;<BR>&nbsp;&nbsp;&nbsp;&nbsp;TLabel 
  *Label1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;TButton 
  *Browse;<BR>&nbsp;&nbsp;&nbsp;&nbsp;TButton 
  *Encode;<BR>&nbsp;&nbsp;&nbsp;&nbsp;void __fastcall BrowseClick(TObject 
  *Sender);<BR>&nbsp;&nbsp;&nbsp;&nbsp;void __fastcall EncodeClick(TObject 
  *Sender);<BR>private:&nbsp;&nbsp;// User 
  declarations<BR>&nbsp;&nbsp;&nbsp;&nbsp;AnsiString 
  OutputFileName;<BR>public:&nbsp;&nbsp;&nbsp;&nbsp;// User 
  declarations<BR>&nbsp;&nbsp;&nbsp;&nbsp;__fastcall TForm1(TComponent* 
  Owner);<BR>};<BR>//---------------------------------------------------------------------------<BR>extern 
  PACKAGE TForm1 
  *Form1;<BR>//---------------------------------------------------------------------------<BR>#endif<BR><BR><BR>Fiel 
  Unit1.cpp<BR>//---------------------------------------------------------------------------<BR>#include 
  &lt;vcl.h&gt;<BR>#pragma hdrstop<BR><BR>#include &lt;fstream&gt;<BR>#include 
  &lt;iostream&gt;<BR>#include "Unit1.h"<BR><BR>#define 
  _BLADEDLL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 
  Don’t forget it<BR>#include "lame_enc.h"<BR>#include 
  "format.h"<BR>//---------------------------------------------------------------------------<BR>#pragma 
  package(smart_init)<BR>#pragma resource "*.dfm"<BR>TForm1 
  *Form1;<BR>//---------------------------------------------------------------------------<BR>__fastcall 
  TForm1::TForm1(TComponent* 
  Owner)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: 
  TForm(Owner)<BR>{<BR>}<BR>//---------------------------------------------------------------------------<BR>void 
  __fastcall TForm1::BrowseClick(TObject 
  *Sender)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;OpenDialog1-&gt;InitialDir = 
  ExtractFileDir(Application-&gt;ExeName);<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(OpenDialog1-&gt;Execute())<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FileEdit-&gt;Text 
  = 
  OpenDialog1-&gt;FileName;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputFileName 
  = ChangeFileExt(OpenDialog1-&gt;FileName, ".<B 
  style="COLOR: white; BACKGROUND-COLOR: #880000">mp3</B>");<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>}<BR>//---------------------------------------------------------------------------<BR>void 
  __fastcall TForm1::EncodeClick(TObject 
  *Sender)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(FileEdit-&gt;Text == 
  "")<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<BR>&nbsp;&nbsp;&nbsp;&nbsp;std::ifstream 
  fin(FileEdit-&gt;Text.c_str(), 
  std::ios::binary);<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(!fin)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<BR>&nbsp;&nbsp;&nbsp;&nbsp;// 
  read the 12 character in front of the 
  file<BR>&nbsp;&nbsp;&nbsp;&nbsp;fin.read((char*)&amp;startID, 
  sizeof(startID));<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;// get the format 
  chunk<BR>&nbsp;&nbsp;&nbsp;&nbsp;FormatChunk 
  fc;<BR>&nbsp;&nbsp;&nbsp;&nbsp;fin.read((char*)&amp;fc, 
  sizeof(FormatChunk));<BR>&nbsp;&nbsp;&nbsp;&nbsp;// the first chunk MUST be 
  the format chunk<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(strncmp(fc.chunkID, "fmt ", 4) 
  != 
  0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Application-&gt;MessageBox("This 
  is not a valid Wave 
  file",<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;"Wav2Mp3 
  ERROR", 
  MB_OK);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(fc.wFormatTag!=1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Application-&gt;MessageBox("Cannot 
  handle compressed Wave 
  file",<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;"Wav2Mp3 
  ERROR", 
  MB_OK);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;// 
  initialization of <B style="COLOR: white; BACKGROUND-COLOR: #880000">Mp3</B> 
  encoder<BR>&nbsp;&nbsp;&nbsp;&nbsp;BE_CONFIG 
  bc;<BR>&nbsp;&nbsp;&nbsp;&nbsp;bc.dwConfig = 
  BE_CONFIG_MP3;<BR>&nbsp;&nbsp;&nbsp;&nbsp;// 32000, 44100 and 48000 are the 
  only sample rate authorized<BR>&nbsp;&nbsp;&nbsp;&nbsp;// due to encoding 
  limitations<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(fc.dwSamplesPerSec == 32000 || 
  fc.dwSamplesPerSec == 44100 
  ||<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fc.dwSamplesPerSec 
  == 48000)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bc.format.<B 
  style="COLOR: white; BACKGROUND-COLOR: #880000">mp3</B>.dwSampleRate = 
  fc.dwSamplesPerSec;<BR>&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Application-&gt;MessageBox("Unsuported 
  sample 
  rate",<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;"Wav2Mp3 
  ERROR", 
  MB_OK);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(fc.wChannels 
  == 1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bc.format.<B 
  style="COLOR: white; BACKGROUND-COLOR: #880000">mp3</B>.byMode = 
  BE_MP3_MODE_MONO;<BR>&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bc.format.<B 
  style="COLOR: white; BACKGROUND-COLOR: #880000">mp3</B>.byMode = 
  BE_MP3_MODE_STEREO;<BR>&nbsp;&nbsp;&nbsp;&nbsp;// the resulting file length 
  depends on this parameter<BR>&nbsp;&nbsp;&nbsp;&nbsp;// higher the bitrate, 
  better the result<BR>&nbsp;&nbsp;&nbsp;&nbsp;bc.format.<B 
  style="COLOR: white; BACKGROUND-COLOR: #880000">mp3</B>.wBitrate = 
  192;<BR>&nbsp;&nbsp;&nbsp;&nbsp;bc.format.<B 
  style="COLOR: white; BACKGROUND-COLOR: #880000">mp3</B>.bCopyright = 
  false;<BR>&nbsp;&nbsp;&nbsp;&nbsp;bc.format.<B 
  style="COLOR: white; BACKGROUND-COLOR: #880000">mp3</B>.bCRC = 
  false;<BR>&nbsp;&nbsp;&nbsp;&nbsp;bc.format.<B 
  style="COLOR: white; BACKGROUND-COLOR: #880000">mp3</B>.bOriginal = 
  false;<BR>&nbsp;&nbsp;&nbsp;&nbsp;bc.format.<B 
  style="COLOR: white; BACKGROUND-COLOR: #880000">mp3</B>.bPrivate = 
  false;<BR>&nbsp;&nbsp;&nbsp;&nbsp;// skip extra formatchunk parameter, if 
  any<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(sizeof(FormatChunk) &lt; int(8 + 
  fc.chunkSize))<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char 
  c;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0; i&lt; int(8 
  + fc.chunkSize - sizeof(FormatChunk)); 
  i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fin.get(c);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;// 
  get next chunk<BR>&nbsp;&nbsp;&nbsp;&nbsp;Chunk 
  chunk;<BR>&nbsp;&nbsp;&nbsp;&nbsp;fin.read((char*)&amp;chunk, 
  sizeof(Chunk));<BR>&nbsp;&nbsp;&nbsp;&nbsp;// check if it’s the data 
  chunk<BR>&nbsp;&nbsp;&nbsp;&nbsp;while(strncmp(chunk.chunkID, "data", 4) != 
  0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char 
  c;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0; 
  i&lt;chunk.chunkSize; 
  i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fin.get(c);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fin.read((char*)&amp;chunk,sizeof(Chunk));<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;// 
  process with the encoding<BR>&nbsp;&nbsp;&nbsp;&nbsp;DWORD 
  dwNumberOfSamples;<BR>&nbsp;&nbsp;&nbsp;&nbsp;DWORD 
  dwOutputBufferLength;<BR>&nbsp;&nbsp;&nbsp;&nbsp;HBE_STREAM 
  hStream;<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(beInitStream(&amp;bc, 
  &amp;dwNumberOfSamples, 
  &amp;dwOutputBufferLength,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;hStream) 
  != 
  BE_ERR_SUCCESSFUL)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Application-&gt;MessageBox("Cannot 
  perform 
  compression",<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;"Wav2Mp3 
  ERROR", 
  MB_OK);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;std::ofstream 
  fout(OutputFileName.c_str(), 
  std::ios::binary);<BR>&nbsp;&nbsp;&nbsp;&nbsp;char *Mp3Buffer = new 
  char[dwOutputBufferLength];<BR>&nbsp;&nbsp;&nbsp;&nbsp;SHORT *InputBuffer = 
  new SHORT[dwNumberOfSamples];&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// SHORT = 
  short = 16 bits<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;int 
  nSamplesPerformed=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;DWORD 
  dwNumberOfSamplesEncoded;<BR>&nbsp;&nbsp;&nbsp;&nbsp;while(nSamplesPerformed 
  &lt; 
  chunk.chunkSize)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fin.read((char*)InputBuffer, 
  dwNumberOfSamples * 
  2);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nSamplesPerformed += 
  dwNumberOfSamples * 
  2;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(beEncodeChunk(hStream, 
  dwNumberOfSamples, 
  InputBuffer,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(BYTE*)Mp3Buffer, 
  &amp;dwNumberOfSamplesEncoded) != 
  BE_ERR_SUCCESSFUL)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Application-&gt;MessageBox("Cannot 
  perform 
  compression",<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;"Wav2Mp3 
  ERROR", 
  MB_OK);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout.write(Mp3Buffer, 
  dwNumberOfSamplesEncoded);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;beDeinitStream(hStream, 
  (BYTE*)Mp3Buffer, 
  &amp;dwNumberOfSamplesEncoded);<BR>&nbsp;&nbsp;&nbsp;&nbsp;beCloseStream(hStream);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;delete 
  Mp3Buffer;<BR>&nbsp;&nbsp;&nbsp;&nbsp;delete 
  InputBuffer;<BR>&nbsp;&nbsp;&nbsp;&nbsp;return;<BR>}
  <P><BR><BR>&nbsp;</P>
  <LI 
  style="MARGIN-TOP: 20px; PADDING-LEFT: 10px; MARGIN-LEFT: 0px; LINE-HEIGHT: 18px; TEXT-ALIGN: left"><BR>
  <P>以上内容由 <A href="http://www.sudu.cn/">华夏名网</A> 搜集整理,如转载请注明原文出处,并保留这一部分内容。</P>
  <TABLE style="BORDER-COLLAPSE: collapse" borderColor=#333333 cellSpacing=0 
  cellPadding=4 width="98%" border=1>
    <TBODY>
    <TR>
      <TD bgColor=#eeeeee>  “华夏名网” http://www.sudu.cn 和 http://www.bigwww.com 
        是成都飞数科技有限公司的网络服务品牌,专业经营虚拟主机,域名注册,VPS,服务器租用业务。公司创建于2002年,经过6年的高速发展,“华夏名网”已经成为我国一家知名的互联网服务提供商,被国外权威机构webhosting.info评价<B 
        style="COLOR: black; BACKGROUND-COLOR: #ff66ff">为</B>25大IDC服务商之一。</TD></TR></TBODY></TABLE>
  <P>华夏名网网址导航: <A href="http://www.sudu.cn/webhosting">虚拟主机</A> <A 
  href="http://www.sudu.cn/webhosting

⌨️ 快捷键说明

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