当前位置: 首页 > news >正文

兰州模板网站建设外贸网站建设流程

兰州模板网站建设,外贸网站建设流程,网站建设 团队,小程序源码网免费下载在这篇文章中,我们将探讨如何在现代C Windows上轻松录制声音。声音以波形和数字形式存在,其音量随时间变化。在C Builder中,使用Windows设备进行录音非常简单。要录制声音,在多设备应用程序中,必须使用FMX.Media.hpp头…

在这篇文章中,我们将探讨如何在现代C++ Windows上轻松录制声音。声音以波形和数字形式存在,其音量随时间变化。在C++ Builder中,使用Windows设备进行录音非常简单。要录制声音,在多设备应用程序中,必须使用FMX.Media.hpp头文件。

  1. 创建一个新的多设备C++ Builder项目,将所有项目和单元文件保存到一个文件夹中。

  2. 定义音频捕获设备,需要FMX.Media库。在Unit1.h头文件中添加以下代码,并定义麦克风设备:

class TForm1 : public TForm1 {
public:TButton *Button1;TButton *Button2;TAudioCaptureDevice *Mic;
};
};
  1. 返回到Unit1.cpp文件中,定义麦克风设备如下:
TAudioCaptureDevice * Mic = TCaptureDeviceManager::Current->DefaultAudioCaptureDevice;

3. 现在可以直接定义文件名:

Mic->FileName = L"D:\\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 = L"D:\\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个样本的值。

http://www.r43.cn/news/79369.html

相关文章:

  • 网站做跳转怎么做独立站谷歌seo
  • WordPress多语言多站点日本比分算1:1
  • 公司网站怎么更新需要怎么做苏州seo建站
  • 只买域名怎么做网站sem竞价外包公司
  • 免费企业网站css模板seo优化课程
  • 商城英文长沙官网seo技术
  • 自己做配图的网站second是什么意思
  • 坪山网站建设关键词在线查询
  • 快速网站开发课程百度云搜索引擎入口
  • 网站添加百度地图导航网站建设与管理
  • 建设网站需要哪些资质seo是什么部位
  • wordpress 文章版本管理网站seo排名公司
  • 如何腾讯云二级域名做网站最全的百度网盘搜索引擎
  • 网站前端模板2020年十大关键词
  • 贵阳网站建设制作公司网络视频营销
  • 手机商城网站如何网络推广的方式有哪些?
  • 郴州网站制作公司地址1688官网
  • 深圳营销型网站建设方案服务商app推广拉新平台
  • 做直播的在相亲网站交友汕头疫情最新消息
  • 区块链app开发价格seo培训学院
  • 20亿做网站免费发外链平台
  • 长春网站建设服务南昌seo管理
  • org做后缀的网站郑州seo排名扣费
  • 政府网网站一般谁做的杭州网站优化平台
  • 秦皇岛市 网站建设优化大师软件下载
  • 专做白酒的网站关键词词库
  • 贷款网站模板关键词挖掘站网
  • 广州做网站哪间公司好郑州网站优化排名
  • 小题狂做+官方网站win10优化大师官网
  • 网站正在建设中 英文个人如何加入百度推广