永发信息网

java 声音采集与播放 在Win7,8下AudioFormat应填写什么参数

答案:1  悬赏:50  手机版
解决时间 2021-11-22 13:07
java 声音采集与播放 在Win7,8下AudioFormat应填写什么参数
最佳答案
1 AudioTrack应用实例
对于Android应用开发人员来讲,音频回放最熟悉的莫过于MediaPlayer,而AudioTrack相信用的人相对会少很多。这是因为MediaPlayer提供了更完整的封装和状态控制,使得我们用很少的代码就可以实现一个简单的音乐播放器。而相比MediaPlayer,AudioTrack更为精练、高效,实际上MediaPlayerService的内部实现就是使用了AudioTrack。
AudioTrack被用于PCM音频流的回放,在数据传送上它有两种方式:
Ø 调用write(byte[],int,int)或write(short[],int,int)把音频数据“push”到AudioTrack中。
Ø 与之相对的,当然就是“pull”形式的数据获取,即数据接收方主动索取的过程,如下图所示:

图 13‑20 “push”和“pull”两种数据传送模式

除此之外,AudioTrack还同时支持static和streaming两种模式:
§ static
静态的言下之意就是数据一次性交付给接收方。好处是简单高效,只需要进行一次操作就完成了数据的传递;缺点当然也很明显,对于数据量较大的音频回放,显然它是无法胜任的,因而通常只用于播放铃声、系统提醒等对内存小的操作
§ streaming
流模式和网络上播放视频是类似的,即数据是按照一定规律不断地传递给接收方的。理论上它可用于任何音频播放的场景,不过我们一般在以下情况下采用:
Ø 音频文件过大
Ø 音频属性要求高,比如采样率高、深度大的数据
Ø 音频数据是实时产生的,这种情况就只能用流模式了

下面我们选取AudioTrackTest.java为例来讲解,先从使用者的角度来了解下AudioTrack。


public voidtestSetStereoVolumeMax() throwsException {
final String TEST_NAME= "testSetStereoVolumeMax";
final int TEST_SR =22050;
final int TEST_CONF =AudioFormat.CHANNEL_CONFIGURATION_STEREO;
final int TEST_FORMAT= AudioFormat.ENCODING_PCM_16BIT;
final int TEST_MODE =AudioTrack.MODE_STREAM;
final intTEST_STREAM_TYPE = AudioManager.STREAM_MUSIC;

// --------initialization --------------

int minBuffSize = AudioTrack.getMinBufferSize(TEST_SR, TEST_CONF, TEST_FORMAT);

AudioTrack track = newAudioTrack(TEST_STREAM_TYPE, TEST_SR, TEST_CONF,
TEST_FORMAT, 2 * minBuffSize,TEST_MODE);
byte data[] = newbyte[minBuffSize];
// -------- test--------------
track.write(data, OFFSET_DEFAULT, data.length);
track.write(data, OFFSET_DEFAULT, data.length);
track.play();
float maxVol =AudioTrack.getMaxVolume();
assertTrue(TEST_NAME, track.setStereoVolume(maxVol, maxVol) == AudioTrack.SUCCESS);
// -------- tear down--------------
track.release();
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
求女主叫巫盈盈的小说名字,很多年前看过的,
志祥商店地址有知道的么?有点事想过去!
iBeacon怎么用
废品回收(电厂路与神泉路交叉口西100米废品回
电脑上可不可以装2块硬盘啊
关于植树造林的诗句
神舟战神P5-i78172D1 与 神舟战神K750d i7-d1
手机540x960分辨率是16:9还是16:10还是
有咸味的巧克力吗,不要太咸
玩古钱的朋友们,现在这个市场价是多少了
融资客仍在大举买入而股价跌跌不休.为什么
为别人做嫁衣是什么意思?
请问南航空客A330--200经济舱和公务舱有什么
got7歌曲a韩文版怎么唱
SG和TB分别是啥意思?
推荐资讯
求没看过的女尊文
女友胯大 是不是不好满足
温室大棚当厂房可以吗
理光复印机网络打印机出乱码是什么问题,机型
河北省新乐市承安镇二代居民身份证在异地怎样
lcentos7下redis默认使用 哪个配置
用PLC改造双速交流异步电动机自动变速控制电
奔驰gls400,4s店一般送的什么贴膜?
银冬茶有什么效果?请回答我的难题。
我是租客,厨房因为水管老化,一碰自来水管就
御景大酒店(滨州惠民县)地址好找么,我有些事
大、小两瓶油共重2.7千克。小瓶用去0.3千克后
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?