使用MediaPlayer做了一个简单的本地sd卡中MP3的播放应用小程序。现在有这样一个需求:需要在播放本地sd卡中的MP3时,获取到正在播放的MP3的PCM编码。
网上看到很多使用MediaRecorder.AudioSource.MIC来获取麦克风录音的。不知道有没有什么方法可以实现上面的需求呢?酬谢![email protected]

解决方案 »

  1.   

    可以实现。获取本地mp3转换成流,读取里面的字节,音频文件的开始40多个字节中有这些信息,不仅仅是PCM 编码,采样率,声道,格式信息都有的。
      

  2.   

    不错啊,那要怎么识别这40多字节的信息,哪些是PCM编码,哪些是采样率
      

  3.   

    拜托高手们了。十万火急啊!help me
      

  4.   

    对于楼上2个的问题,这不是一时半会解释的清楚的。如果解释清楚了你们也就学会了音频编解码了。。我说了你们也会很糊涂。。因为有的数据需要特定的算法才能取得。建议你们下载每种不同编码的音频文件,用Winhex打开观看里面的头信息。你看看他们的相同点。这个没有例子,我获取的不是PCM编码信息所以,我不知道哦具体在哪个字节。自己研究研究吧。
      

  5.   

    你看看这个例子:http://topic.csdn.net/u/20081118/18/389bf41a-b7e9-4402-8f54-edb7323cc7d1.html
      

  6.   

    android4.0 现在好像开放了open AL的接口了把,能直接取得pcm
    要在这之前,解码mp3的话,那只得用开源库拉,ffmpeg or mad 这些,codec很复杂的,不要想着自己写。如果说解析mp3专辑信息这些而不是pcm的话,那就容易多拉
    至于mic获取的,我记得可以设置为amr,amr的格式相当容易,32个字节一组,你可以搜搜它的文件格式
      

  7.   

    mp3专辑那些信息我是知道怎么回去,现在需求需要我对mp3进行解码,获取它的pcm裸数据,要求在2。3。x上也能运行。然后我就不知道怎么弄了
      

  8.   

    说了嘛,用mad,就能把pcm一帧一帧回给你。别想着自己解码,吃力不讨好
      

  9.   

    我是菜鸟级,能麻烦你给点mad方面的资料吗?谢谢