首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在android中使用Jspeex解码音频会产生断断续续的声音

在android中使用Jspeex解码音频会产生断断续续的声音
EN

Stack Overflow用户
提问于 2014-04-09 17:02:11
回答 1查看 410关注 0票数 1

我正在开发一个android应用程序,播放现场speex音频流。所以我使用jspeex library

音频流为11 The,16位。

在android端,我做了如下工作:

代码语言:javascript
复制
SpeexDecoder decoder = new SpeexDecoder();
decoder.init(1, 11025,1, true);
decoder.processData(subdata, 0, subdata.length);
byte[] decoded_data =  new byte[decoder.getProcessedDataByteSize()];
int result= decoder.getProcessedData(decoded_data, 0);

当这个解码的数据被Audiotrack播放时,音频的某些部分被剪切。

另外,当解码器设置为nb-mode(第一个参数设置为0)时,音质会变差。我想知道我的代码中是否有任何参数配置错误。

任何帮助,建议都很感谢。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-01-30 02:21:25

应针对特定设备以优化方式设置采样率和缓冲区大小。例如,您可以使用AudioRecord.getMinBufferSize()获取缓冲区的最佳大小:

代码语言:javascript
复制
   int sampleRate = 11025; //try also different standard sampleRate
   int bufferSize = AudioRecord.getMinBufferSize(sampleRate,
                        AudioFormat.CHANNEL_CONFIGURATION_MONO,
                        AudioFormat.ENCODING_PCM_16BIT);

如果你的Audiotrack有一个太小或太大的缓冲区,你会遇到音频故障。我建议您查看here并使用这些值(sampleRate和bufferSize)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22957635

复制
相关文章

相似问题

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