我想通过在线mp3链接播放音乐。
我正在将音乐数据读入流中并尝试使用音轨播放。
但它只给出了噪音。我听不到任何音乐
这是我的代码。
int intSize = android.media.AudioTrack.getMinBufferSize(8000,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT);
AudioTrack oTrack = new AudioTrack(AudioManager.STREAM_MUSIC, 8000,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT, intSize,
AudioTrack.MODE_STREAM);
oTrack.play();
oTrack.write(buffer, 0, buffer.length);
这里缓冲区是我正在读的音频数据。
我可以在MediaPlayer中播放相同的缓冲区,但我无法在audiotrack中播放。
我可能做错了什么?
答案 0 :(得分:3)
显然AudioTrack只播放PCM音频,所以要么你必须找到一种方法将MP3自己解码为PCM,要么使用MediaPlayer代替它来为你做解码(根据http://developer.android.com/guide/topics/media/index.html)。