gpt4 book ai didi

android - 在 AudioTrack.MODE_STATIC 中使用 AudioTrack?

转载 作者:行者123 更新时间:2023-11-29 17:57:03 27 4
gpt4 key购买 nike

我发现很多教程和帖子展示了如何使用 AudioTrackAudioTrack.MODE_STREAM 中播放 wav 文件,我已经成功实现了 this example .

但是,我在一次播放多个音轨时遇到了性能问题,我认为我应该首先使用 AudioTrack.MODE_STATIC 创建音轨,然后每次都调用播放。

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

谢谢

最佳答案

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

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();
}

关于android - 在 AudioTrack.MODE_STATIC 中使用 AudioTrack?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18624897/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com