Delphi多媒体设计之TMediaPlayer组件(四)
录制波形音频不是像大家想象的直接,也许大家以为所要做的就是调用StartRecording方法。然而,因为TMediaPlayer的问题,它不是那么简单的。
要录制波形文件,首先必须打开一个存在的波形文件,这个波形文件和所想要的新文件有相同的录制参数,然后开始录制新的波形文件,改变FileName属性为新文件名,然后保存文件,这有点笨拙,但其作用。
例如,假设有一个叫做Test.wav文件,这个文件以8000Hz,采样率16位且为单声道的波形格式录制,这时可以像下面代码那样在按钮上点击录制波形音频:
procedure TForm1.btn6Click(Sender: TObject); begin with mpPlayer do begin { 设置FileName属性为 test.wav 文件,并从中获取录制参数信息} FileName := 'test.wav'; { 打开设备} Open; { 开始录制} Wait := False; StartRecording; end; end;
此时录制已经开始,并且控制已返回应用程序。现在需要停止录制,这可以通过第二个停止按钮来完成,如下:
procedure TForm1.btn7Click(Sender: TObject); begin with mpPlayer do begin { 停止录音} Stop; { 改变FileName属性为新的文件名用来保存到硬盘} FileName := 'new.wav'; { 保存并关闭文件} Save; Close; end; end;
示例程序界面如下:

在上面的编写过程中,因为TMediaPlayer中的故障,这些步骤对于波形音频的录制是很必要的。TMediaPlayer 录音是基于一个已存在的 wav 文件,TMediaPlayer 的功能是基于 MCI 的, 都是该淘汰的东西了, 但是我们还是要进行了解。
控制波形音频录制的因素包括采样位数(通常为8或16)、采样频率和声道数,通常采样频率为8000kHz、11025kHz、22050kHz以及44100kHz,采样频率越高,录制质量越好。大部分情况下,用户可能不使用立体声,除非做游戏程序设计。即使做游戏程序设计,也应根据需要使用立体声。采样位数也影像录音质量。
声音质量越好,录制波形音频文件占用的磁盘空间越多。立体声录音的文件大小是单声道录音文件的两倍。同样地,使用采样位数16位的文件大小会使采样位数8位的两倍。以22050kHz、单声道采样位数8位录制的文件可能是200K,而同样的文件以22050kHz、立体声且采样16位进行录制录制的文件大小将会是800K。大部分情况下,立体声和16位采样相对于它所需要的额外磁盘空间开销是不一定合算的。权衡声音质量和文件大小,22050kHz、单声道、8位采样的波形文件是一个很好的选择。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://www.juheyunku.com/jiaob/dp/9435.shtml
热门TAG
命令 外链 企业网站 白帽 php 织梦教程 dedecms修改内容 javascript 织梦 功能 标签 调用 详解 技巧 权重 服务器 网站流量 Dedecms 织梦cms HTML tags标签 python jquery教程 jquery windows 蜘蛛 搜索引擎 网站收录 JSP 实例解析最新文章
-
最新的支持DELPHI XE7的多层
时间:2020-12-26
-
Delphi多媒体设计之TMediaP
时间:2020-12-26
-
Delphi多媒体设计之TMediaP
时间:2020-12-26
-
Delphi Code Editor 之 编辑器选
时间:2020-12-26
-
Delphi窗体皮肤实现
时间:2020-12-26
-
使用Delphi实现JNI实例
时间:2020-12-26
热门文章
-
Delphi多媒体设计之TMediaPlayer组件(四)
时间:2020-12-26
-
Delphi多媒体设计之TMediaPlayer组件(一)
时间:2020-12-26
-
Delphi窗体皮肤实现
时间:2020-12-26
-
Delphi Code Editor 之 编辑器选项
时间:2020-12-26
-
使用Delphi实现JNI实例
时间:2020-12-26
-
最新的支持DELPHI XE7的多层插件式开发框架
时间:2020-12-26
