在android中播放音轨中的音频
Posted
技术标签:
【中文标题】在android中播放音轨中的音频【英文标题】:playing audio from audio track in android 【发布时间】:2011-01-16 22:53:06 【问题描述】:我想通过在线 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 中播放相同的缓冲区,但无法在音轨中播放。
我做错了什么?
【问题讨论】:
我会在包含代码的每一行的开头放置 4 个空格。 【参考方案1】:显然 AudioTrack 只播放 PCM 音频,所以要么你必须自己想办法将 MP3 解码为 PCM,或者使用 MediaPlayer 代替它来为你解码(根据http://developer.android.com/guide/topics/media/index.html)。
【讨论】:
以上是关于在android中播放音轨中的音频的主要内容,如果未能解决你的问题,请参考以下文章