【问题标题】:playing audio from audio track in android在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 个空格。

标签: android audio


【解决方案1】:

显然 AudioTrack 只播放 PCM 音频,所以要么你必须自己想办法将 MP3 解码为 PCM,或者使用 MediaPlayer 代替它来为你解码(根据http://developer.android.com/guide/topics/media/index.html)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多