wolegequ
V2EX  ›  Android

android 音频解码求指导

  •  
  •   wolegequ · Jun 9, 2014 · 16823 views
    This topic created in 4540 days ago, the information mentioned may be changed or developed.
    碰到一个需要 需要边下载边播放音频 系统自带的MediaPlayer可以实现 但是缓冲时间太长 体验不好。

    如果边下载边播放的话, 需要解码为pcm才可以转交给audioTracker 才可以播放。

    求边下载边解码的办法,不胜感激
    Supplement 1  ·  Jul 9, 2014
    结贴

    我最后是用mad实现的
    16 replies  •  2014-08-05 17:44:26 +08:00
    notedit
    notedit
    Jun 9, 2014
    2
    不用rtmp的话 还有一个比较trick的方法 我没试过

    rtmp不行的话 联系我
    sqbing
    sqbing
    Jun 9, 2014
    3
    你得说明你的音频下载协议,格式,编码……
    mcxiaoke
    mcxiaoke
    Jun 9, 2014 via Android
    4
    自己实现下载,写临时文件,用MediaPlayer
    jedyu
    jedyu
    Jun 9, 2014
    5
    OpenSL ES. NDK自带的例子里就有
    manhere
    manhere
    Jun 9, 2014
    6
    用vitamio库走起!
    wolegequ
    wolegequ
    OP
    Jun 11, 2014
    7
    @sqbing mp3格式 走的http。。。
    wolegequ
    wolegequ
    OP
    Jun 11, 2014
    8
    @notedit
    @jedyu

    非常感谢 我先尝试一下 :-)
    wolegequ
    wolegequ
    OP
    Jun 11, 2014
    9
    @mcxiaoke 随着下载文件的变化 需要重新初始化播放器 重新setDataSource,要不然没法播放完整。但是重新初始化会有卡壳的现象 体验也好。
    wolegequ
    wolegequ
    OP
    Jun 11, 2014
    10
    @manhere 好的库 = = 暂时不敢碰
    mcxiaoke
    mcxiaoke
    Jun 11, 2014 via Android
    11
    不需要,一开始把临时文件的length设置为完整文件的length即可,MediaPlayer靠这个识别
    sqbing
    sqbing
    Jun 11, 2014
    12
    转制HLS?
    wolegequ
    wolegequ
    OP
    Jun 12, 2014
    13
    @mcxiaoke 试过了 不行啊 - -
    wolegequ
    wolegequ
    OP
    Jun 13, 2014
    14
    @sqbing mp3 文件而已、、、、
    wolegequ
    wolegequ
    OP
    Jul 5, 2014
    15
    @manhere 可以在service里播放吗
    lsjwzh
    lsjwzh
    Aug 5, 2014
    16
    MediaPlayer的buffer在4.0及以后都改大了。。。确实很郁闷。。音频还好。视频的话我打算用GStreamer或者EXOPlayer替代了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2119 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 11:17 · PVG 19:17 · LAX 03:17 · JFK 06:17
    ♥ Do have faith in what you're doing.