你可以尝试使用以下代码来获取音频的采样率和声道信息:

AudioTrack audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, 44100, AudioFormat.CHANNEL_OUT_STEREO, AudioFormat.ENCODING_PCM_16BIT, bufferSize, AudioTrack.MODE_STREAM);
int sampleRate = audioTrack.getSampleRate();
int channelConfig = audioTrack.getChannelConfiguration();

其中,sampleRate 变量将包含音频的采样率(通常为 44100Hz),而 channelConfig 变量将包含音频的声道配置(AudioFormat.CHANNEL_OUT_STEREO 表示立体声,AudioFormat.CHANNEL_OUT_MONO 表示单声道)。

如果解码后的音频播放有杂音,可能是因为解码后的音频数据与 AudioTrack 的配置不匹配。你可以尝试调整 AudioTrack 的参数,例如采样率和声道配置,以使其与解码后的音频数据相匹配。

另外,还可以尝试使用其他的解码方式,例如使用 MediaCodecMediaPlayer 来播放音频。这些 API 可以更好地处理音频的格式和编解码

Android开发:audiotrack播放base64音频用Base64decodebase64Audio Base64DEFAULT解码后播放是杂音是采样率、声道不对吗?我怎么知道采样率、声道是什么

原文地址: https://www.cveoy.top/t/topic/h9LT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录