首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在AudioTrack中使用AudioTrack.MODE_STATIC?

在AudioTrack中使用AudioTrack.MODE_STATIC?
EN

Stack Overflow用户
提问于 2013-09-04 22:32:31
回答 1查看 4.5K关注 0票数 1

我发现了很多教程和文章,展示了如何在AudioTrack中使用AudioTrack.MODE_STREAM播放wav文件,并且成功地实现了这个例子

然而,当我同时播放多个音频曲目时,我的性能出现了问题,并认为我应该首先使用AudioTrack.MODE_STATIC创建这些曲目,然后每次只调用play。

我找不到任何关于如何实现这一点的资源。我该怎么做?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-01-10 11:34:38

对我来说,两个主要的症结是认识到.write()是第一位的,实例化的播放器必须有整个剪辑的大小作为buffer_size_in_bytes。假设您已经使用AudioRecord录制了一个PCM文件,您可以像这样用STATIC_MODE回放.

代码语言:javascript
复制
File file = new File(FILENAME);
int audioLength = (int)file.length();
byte filedata[] = new byte[audioLength];
try{
    InputStream inputStream = new BufferedInputStream(new FileInputStream(FILENAME));
    int lengthOfAudioClip = inputStream.read(filedata, 0, audioLength);
    player = new AudioTrack(STREAM_TYPE, SAMPLE_RATE, CHANNEL_OUT_CONFIG, AUDIO_FORMAT,audioLength, AUDIO_MODE);
    player.write(filedata, OFFSET, lengthOfAudioClip);
    player.setPlaybackRate(playbackRate);
    player.play();
 }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18624897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档