怎么做网站文字图片,公司网页设计作品,手机网站html模板,毕节市城乡住房建设网站在这篇文章中#xff0c;我们将探讨如何在现代C Windows上轻松录制声音。声音以波形和数字形式存在#xff0c;其音量随时间变化。在C Builder中#xff0c;使用Windows设备进行录音非常简单。要录制声音#xff0c;在多设备应用程序中#xff0c;必须使用FMX.Media.hpp头…在这篇文章中我们将探讨如何在现代C Windows上轻松录制声音。声音以波形和数字形式存在其音量随时间变化。在C Builder中使用Windows设备进行录音非常简单。要录制声音在多设备应用程序中必须使用FMX.Media.hpp头文件。 创建一个新的多设备C Builder项目将所有项目和单元文件保存到一个文件夹中。 定义音频捕获设备需要FMX.Media库。在Unit1.h头文件中添加以下代码并定义麦克风设备
class TForm1 : public TForm1 {
public:TButton *Button1;TButton *Button2;TAudioCaptureDevice *Mic;
};
};
返回到Unit1.cpp文件中定义麦克风设备如下
TAudioCaptureDevice * Mic TCaptureDeviceManager::Current-DefaultAudioCaptureDevice;
3. 现在可以直接定义文件名
Mic-FileName LD:\\test.wav;
4. 或者你可以直接使用SaveDialog组件来获得文件名。 if(Mic!NULL)
{SaveDialog1-Filter Mic-FilterString;Mic-FileName SaveDialog1-FileName;
}
5. 添加一个按钮开始录音设备使用StartCapture()如下
void TForm1::Button1Click(TObject *Sender) {if (Mic ! NULL) {Mic-StartCapture();}
6. 添加另一个按钮来停止录音停止它如下
void TForm1::Button2Click(TObject *Sender) {if (Mic ! NULL) {Mic-StopCapture();}
7. 这就是全部代码。现在你可以通过按F9运行你的代码。
让我们看看所有代码。Unit.h头文件应该像这样FMX.Media库是必需的 //---------------------------------------------------------------------------#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include System.Classes.hpp
#include FMX.Controls.hpp
#include FMX.Forms.hpp
#include FMX.Controls.Presentation.hpp
#include FMX.StdCtrls.hpp
#include FMX.Types.hpp
#include FMX.Media.hpp
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed ComponentsTButton *Button1;TButton *Button2;void __fastcall Button1Click(TObject *Sender);void __fastcall Button2Click(TObject *Sender);
private: // User declarations
public: // User declarations__fastcall TForm1(TComponent* Owner);TAudioCaptureDevice *Mic;
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
Unit.cpp文件应该像这样 #include fmx.h
#pragma hdrstop#include Unit1.h
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource *.fmx
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{Mic TCaptureDeviceManager::Current-DefaultAudioCaptureDevice;Mic-FileName LD:\\test.wav;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{if (Mic!NULL){Mic-StartCapture();}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{if (Mic!NULL){Mic-StopCapture();}
} 这个函数首先打开WAV文件然后读取WAV头。如果文件是有效的WAV文件函数将读取头信息并检查文件是否有效。然后读取波形数据最后关闭音频文件。这个函数还显示了前20个样本的值。