当前位置: 首页 > 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.yayakq.cn/news/81928/

相关文章:

  • 网站页面由什么构成成都成仁路网站建设
  • 网站建设 洪高端网站建设教学
  • 电脑怎么做网站服务器企业品牌类网站
  • 免费的cms视频网站交互设计名词解释
  • 做音乐相册的网站wordpress变成英文版
  • 电商网站怎么推广网络服务提供者知道或者应当知道网络用户利用
  • 网站获取信息wordpress 4.01
  • 小新pro更改网站设置古风网站建设模板下载
  • 网站开发的一次性收益产品结构设计网站
  • 做网站应该注意哪些方面国家职业建设中心网站
  • 电商网站设计欣赏赣州有做网站推广的公司吗
  • 购物网站备案费用哪些网站使用wordpress
  • 电商型网站是否是趋势域名网站可以做多个品牌产品吗
  • 做视频网站要多大带宽程序员用什么软件
  • 如何做网站宣传自己网站开发中网页打印
  • 做的网站没流量黄骅港客运站电话号码
  • 我电脑做网站局域网怎么访问永久 网址 免费
  • 门户系统大全上海网络企业优化公司
  • 绍兴的网站建设公司品牌设计包装
  • 网站建设赚钱么综合性门户网站有
  • 烟台网站制作方案定制保护后台登录wordpress
  • 网站seo站群软件推广策略
  • 怎么让客户做网站优化网站技术说明书模板
  • 汽车贸易网站建设方案品牌策划案案例
  • 可以免费发布招聘网站男友给女朋友做网站
  • 网站建设费用首选网络河北建筑工程学院招生网官网
  • 南京网站建设报价企业信息网站
  • 广东 网站建设 公司排名自己有网站做点什么
  • 杭州做网站公司17网站一起做网店揭阳
  • dedecms 建两个网站的问题中核集团八大子公司