- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java音频(DOC可编).doc
17.3.3 音频的数据格式
音频数据——也就是从TargetDataLine输入或从SourceDataLine输出的数据,必须符合音频格式的标准。音频数据的格式选项由AudioFormat类封装,主要选项包括:编码方式(可以是PCM(Pulse Code Modulation,脉冲编码调制)、MP3等)、通道数量、取样率、帧速率等。
根据不同的参数,AudioFormat提供了3个构造函数
public AudioFormat(AudioFormat.Encoding encoding,float sampleRate,int sampleSizeInBits,int channels,int frameSize,float frameRate,boolean bigEndian);
public AudioFormat(AudioFormat.Encoding encoding,float sampleRate,int sampleSizeInBits,int channels,int frameSize,float frameRate,boolean bigEndian,MapString,Object properties);
public AudioFormat(float sampleRate,int sampleSizeInBits,int channels,boolean signed,boolean bigEndian);
其中的变量意义如下。
? encoding:音频编码。
音频编码的常见类型是脉冲编码调制(PCM),它只是声音波形的线性(比例)表示形式。有了 PCM,每个样本中存储的数字都与该时间点上的声压瞬时振幅成比例。这些数字通常是有符号的或无符号的整数。除了 PCM 外,其他编码还有 mu-law 和 a-law,它们是常用于记录语音的声音振幅的非线性映射。
取得编码类型的类为AudioFormat.Encoding,该类包含了4个静态变量的类型:
static AudioFormat.Encoding ALAW; //指定a-law编码数据
static AudioFormat.Encoding PCM_SIGNED; //指定有符号的线性PCM数据
static AudioFormat.Encoding PCM_UNSIGNED; //指定无符号的线性PCM数据
static AudioFormat.Encoding ULAW; //指定u-law编码数据
如果不指定该变量,则默认使用线性PCM编码。
? sampleRate:每秒样本数。即取样率,表示每一秒钟取样的频率,可选值有8000、11025、16000、22050、44100。比如对于8000,表示每一秒钟会取样8000次,也就是采集8000次声音。
? sampleSizeInBits:每个样本中的位数。可以为8bit和16bit,即每一个声音样本使用8bit或16bit数据表示。
? channels:声道数(单声道为 1,立体声为2……)。
? frameSize:每帧包含的字节数。
? frameRate:每秒帧数。
? bigEndian:指是否以big-endian字节顺序存储数据(false意味着little-endian)。
? properties:包含格式属性的MapString,Object 对象。
例如下例所示,使用第3个构造函数创建了一个音频格式对象:
float sampleRate = 16000.0F; //8000,11025,16000,22050,44100
int sampleSizeInBits = 16; //8,16
int channels = 1; //1,2
boolean signed = true; //true,false
boolean bigEndian = false; //true,false
AudioFormat audioFormat = new AudioFormat(sampleRate, sampleSizeInBits, channels, signed, bigEndian);
17.3.4 音频的录制
创建了音频格式对象后,就可以使用该格式进行录音了。音频的录制需要经过以下的6步。
(1)取得输入设备信息。
创建了音频数据格式对象后,就可以根据该对象取得输入设备信息DataLine.Info:
DataLine.Info dataLineInfo = new DataLine.Info( TargetDataLine.class, audioFormat);
(2)取得输入设备。
根据该设备信息,使用AudioSystem的getLine()方
您可能关注的文档
- HTPC家庭影院个人电脑教程(DOC可编).doc
- httplibklunivcnnewshnhyPPT北京地区高校图书馆招标分析备注ppt.ppt
- HTV操作说明(DOC可编).doc
- ht《我的母亲》ppt(me).ppt
- HT华泰环球健康个人保险产品ApplicationForm(DOC可编).doc
- huaguashuo.ppt
- HUION绘王数位板T美国职业插画家使用好评(DOC可编).doc
- hust数据结构DS.ppt
- Husywe法语语言文学专业研究生培养方案(DOC可编).doc
- hw参考答案.ppt
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)