Android ExoPlayer通过HTTP传输mp3

Android ExoPlayer通过HTTP传输mp3,android,ffmpeg,android-mediaplayer,Android,Ffmpeg,Android Mediaplayer,我正在努力掌握今年在上推出的新技术,以便将其纳入我的应用程序中 我正在尝试通过HTTP传输mp3,但到目前为止都没有成功。我不确定这是否可能,但我正在尝试在不扩展任何基本源/示例类的情况下实现这一点。我的代码如下: 在我的活动中 SampleSource s = new FrameworkSampleSource(this, Uri.parse("http://traffic.libsyn.com/joeroganexp/p518.mp3"), null, 1); // Since I onl

我正在努力掌握今年在上推出的新技术,以便将其纳入我的应用程序中

我正在尝试通过HTTP传输mp3,但到目前为止都没有成功。我不确定这是否可能,但我正在尝试在不扩展任何基本源/示例类的情况下实现这一点。我的代码如下:

在我的活动中

SampleSource s = new FrameworkSampleSource(this, Uri.parse("http://traffic.libsyn.com/joeroganexp/p518.mp3"), null, 1);

// Since I only have 1 audio renderer
ExoPlayer player = ExoPlayer.Factory.newInstance(1);

MediaCodecAudioTrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(s);
player.prepare(audioRenderer);
player.setPlayWhenReady(true);
Logcat

3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ SniffFFMPEG
07-06 15:52:34.080    3363-3376/com.kevintcoughlin.smodr I/FFmpegExtractor﹕ android-source:0xb7c53e00
07-06 15:52:34.084    3363-3376/com.kevintcoughlin.smodr D/FFMPEG﹕ android source begin open
07-06 15:52:34.084    3363-3376/com.kevintcoughlin.smodr D/FFMPEG﹕ android open, url: android-source:0xb7c53e00
07-06 15:52:34.084    3363-3376/com.kevintcoughlin.smodr D/FFMPEG﹕ ffmpeg open android data source success, source ptr: 0xb7c53e00
07-06 15:52:34.088    3363-3376/com.kevintcoughlin.smodr D/FFMPEG﹕ android source open success
07-06 15:52:34.108    3363-3363/com.kevintcoughlin.smodr W/EGL_genymotion﹕ eglSurfaceAttrib not implemented
07-06 15:52:34.116    3363-3363/com.kevintcoughlin.smodr E/OpenGLRenderer﹕ Getting MAX_TEXTURE_SIZE from GradienCache
07-06 15:52:34.120    3363-3363/com.kevintcoughlin.smodr E/OpenGLRenderer﹕ MAX_TEXTURE_SIZE: 16384
07-06 15:52:34.128    3363-3363/com.kevintcoughlin.smodr E/OpenGLRenderer﹕ Getting MAX_TEXTURE_SIZE from Caches::initConstraints()
07-06 15:52:34.128    3363-3363/com.kevintcoughlin.smodr E/OpenGLRenderer﹕ MAX_TEXTURE_SIZE: 16384
07-06 15:52:34.128    3363-3363/com.kevintcoughlin.smodr D/OpenGLRenderer﹕ Enabling debug mode 0
07-06 15:52:34.640    3363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ [mp3 @ 0xb7c57040] Estimating duration from bitrate, this may be inaccurate
07-06 15:52:34.640    3363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ Input #0, mp3, from 'android-source:0xb7c53e00':
07-06 15:52:34.640    3363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ Metadata:
07-06 15:52:34.640    3363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ TSS             : Logic Pro 9.1.8
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ title           : #518 - Matt Fulchiron
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ artist          : Joe Rogan Experience
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ album_artist    : Joe Rogan Experience
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ Duration: 02:57:10.21, start: 0.000000, bitrate: 127 kb/s
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 128 kb/s
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr I/FFmpegExtractor﹕ FFmpegExtrator, url: android-source:0xb7c53e00, format_name: mp3, format_long_name: MP2/3 (MPEG audio layer 2/3)
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr I/FFmpegExtractor﹕ list the formats suppoted by ffmpeg:
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr I/FFmpegExtractor﹕ ========================================
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[00]: mpeg
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[01]: mpegts
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[02]: mov,mp4,m4a,3gp,3g2,mj2
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[03]: matroska,webm
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[04]: asf
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[05]: rm
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[06]: flv
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[07]: swf
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[08]: avi
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[09]: ape
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[10]: dts
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[11]: flac
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[12]: ac3
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[13]: wav
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[14]: ogg
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[15]: vc1
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[16]: hevc
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr I/FFmpegExtractor﹕ ========================================
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr D/FFMPEG﹕ android source close
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr W/FFmpegExtractor﹕ sniff through BetterSniffFFMPEG failed, try LegacySniffFFMPEG
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr I/FFmpegExtractor﹕ source url:http://traffic.libsyn.com/joeroganexp/p518.mp3
07-06 15:52:34.644    3363-3376/com.kevintcoughlin.smodr D/FFMPEG﹕ android source begin open
07-06 15:52:34.648    3363-3376/com.kevintcoughlin.smodr D/FFMPEG﹕ android open, url: android-source:0xb7c53e00|file:http://traffic.libsyn.com/joeroganexp/p518.mp3
07-06 15:52:34.648    3363-3376/com.kevintcoughlin.smodr D/FFMPEG﹕ ffmpeg open android data source success, source ptr: 0xb7c53e00
07-06 15:52:34.648    3363-3376/com.kevintcoughlin.smodr D/FFMPEG﹕ android source open success
07-06 15:52:34.708    3363-3394/com.kevintcoughlin.smodr D/dalvikvm﹕ GC_FOR_ALLOC freed 361K, 4% free 10852K/11288K, paused 75ms, total 75ms
07-06 15:52:34.844    3363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ [mp3 @ 0xb7ca7700] Estimating duration from bitrate, this may be inaccurate
07-06 15:52:34.844    3363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ Input #0, mp3, from 'android-source:0xb7c53e00|file:http://traffic.libsyn.com/joeroganexp/p518.mp3':
07-06 15:52:34.844    3363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ Metadata:
07-06 15:52:34.844    3363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ TSS             : Logic Pro 9.1.8
07-06 15:52:34.848    3363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ title           : #518 - Matt Fulchiron
07-06 15:52:34.848    3363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ artist          : Joe Rogan Experience
07-06 15:52:34.848    3363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ album_artist    : Joe Rogan Experience
07-06 15:52:34.848    3363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ Duration: 02:57:10.21, start: 0.000000, bitrate: 127 kb/s
07-06 15:52:34.848    3363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 128 kb/s
07-06 15:52:34.848    3363-3376/com.kevintcoughlin.smodr I/FFmpegExtractor﹕ FFmpegExtrator, url: android-source:0xb7c53e00|file:http://traffic.libsyn.com/joeroganexp/p518.mp3, format_name: mp3, format_long_name: MP2/3 (MPEG audio layer 2/3)
07-06 15:52:34.852    3363-3376/com.kevintcoughlin.smodr I/FFmpegExtractor﹕ list the formats suppoted by ffmpeg:
07-06 15:52:34.852    3363-3376/com.kevintcoughlin.smodr I/FFmpegExtractor﹕ ========================================
07-06 15:52:34.852    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[00]: mpeg
07-06 15:52:34.852    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[01]: mpegts
07-06 15:52:34.852    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[02]: mov,mp4,m4a,3gp,3g2,mj2
07-06 15:52:34.852    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[03]: matroska,webm
07-06 15:52:34.852    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[04]: asf
07-06 15:52:34.852    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[05]: rm
07-06 15:52:34.852    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[06]: flv
07-06 15:52:34.852    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[07]: swf
07-06 15:52:34.852    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[08]: avi
07-06 15:52:34.852    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[09]: ape
07-06 15:52:34.852    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[10]: dts
07-06 15:52:34.856    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[11]: flac
07-06 15:52:34.856    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[12]: ac3
07-06 15:52:34.856    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[13]: wav
07-06 15:52:34.856    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[14]: ogg
07-06 15:52:34.856    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[15]: vc1
07-06 15:52:34.856    3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ format_names[16]: hevc
07-06 15:52:34.856    3363-3376/com.kevintcoughlin.smodr I/FFmpegExtractor﹕ ========================================
07-06 15:52:34.856    3363-3376/com.kevintcoughlin.smodr D/FFMPEG﹕ android source close
07-06 15:52:34.856    3363-3376/com.kevintcoughlin.smodr D/FFmpegExtractor﹕ SniffFFMPEG failed to sniff this source
07-06 15:52:34.856    3363-3397/com.kevintcoughlin.smodr D/dalvikvm﹕ GC_FOR_ALLOC freed 120K, 3% free 12342K/12696K, paused 29ms, total 60ms
07-06 15:52:34.860    3363-3397/com.kevintcoughlin.smodr I/dalvikvm-heap﹕ Grow heap (frag case) to 13.981MB for 1960012-byte allocation
07-06 15:52:34.872    3363-3387/com.kevintcoughlin.smodr D/dalvikvm﹕ GC_FOR_ALLOC freed <1K, 3% free 14256K/14612K, paused 10ms, total 10ms
07-06 15:52:34.880    3363-3376/com.kevintcoughlin.smodr I/OMXClient﹕ Using client-side OMX mux.
07-06 15:52:34.976    3363-3400/com.kevintcoughlin.smodr I/OMXClient﹕ Using client-side OMX mux.
07-06 15:52:35.144    3363-3393/com.kevintcoughlin.smodr D/dalvikvm﹕ GC_FOR_ALLOC freed 1512K, 12% free 13705K/15532K, paused 12ms, total 36ms
07-06 15:52:35.152    3363-3393/com.kevintcoughlin.smodr I/dalvikvm-heap﹕ Grow heap (frag case) to 15.315MB for 1962812-byte allocation
07-06 15:52:35.200    3363-3388/com.kevintcoughlin.smodr D/dalvikvm﹕ GC_FOR_ALLOC freed <1K, 11% free 15621K/17452K, paused 39ms, total 39ms
07-06 15:52:35.356    3363-3400/com.kevintcoughlin.smodr E/ACodec﹕ OMX/mediaserver died, signalling error!
07-06 15:52:35.356    3363-3400/com.kevintcoughlin.smodr E/MediaCodec﹕ Codec reported an error. (omx error 0x8000100d, internalError -32)
07-06 15:52:35.376    3363-3400/com.kevintcoughlin.smodr A/ACodec﹕ frameworks/av/media/libstagefright/ACodec.cpp:499 CHECK(mem.get() != NULL) failed.
07-06 15:52:35.376    3363-3400/com.kevintcoughlin.smodr A/libc﹕ Fatal signal 4 (SIGILL) at 0xb76d563d (code=2), thread 3400 (MediaCodec_loop)
3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ snifffmpeg
07-06 15:52:34.080 3363-3376/com.kevintcoughlin.smodr I/FFmpegExtractor﹕ android源代码:0xb7c53e00
07-06 15:52:34.084 3363-3376/com.kevintcoughlin.smodr D/FFMPEG﹕ android源代码开始开放
07-06 15:52:34.084 3363-3376/com.kevintcoughlin.smodr D/FFMPEG﹕ android open,url:android源代码:0xb7c53e00
07-06 15:52:34.084 3363-3376/com.kevintcoughlin.smodr D/FFMPEG﹕ ffmpeg开放android数据源成功,源ptr:0xb7c53e00
07-06 15:52:34.088 3363-3376/com.kevintcoughlin.smodr D/FFMPEG﹕ android开源成功
07-06 15:52:34.108 3363-3363/com.kevintcoughlin.smodr W/EGL_genymotion﹕ 未实现eglSurfaceAttrib
07-06 15:52:34.116 3363-3363/com.kevintcoughlin.smodr E/opengl﹕ 从GradieCache获取最大纹理大小
07-06 15:52:34.120 3363-3363/com.kevintcoughlin.smodr E/opengl﹕ 最大纹理大小:16384
07-06 15:52:34.128 3363-3363/com.kevintcoughlin.smodr E/opengl﹕ 从缓存获取最大纹理大小::initConstraints()
07-06 15:52:34.128 3363-3363/com.kevintcoughlin.smodr E/opengl﹕ 最大纹理大小:16384
07-06 15:52:34.128 3363-3363/com.kevintcoughlin.smodr D/opengld﹕ 正在启用调试模式0
07-06 15:52:34.640 3363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ [mp3@0xb7c57040]根据比特率估计持续时间,这可能不准确
07-06 15:52:34.640 3363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ 输入#0,mp3,来自“android源代码:0xb7c53e00”:
07-06 15:52:34.640 3363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ 元数据:
07-06 15:52:34.640 3363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ TSS:Logic Pro 9.1.8
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ 标题:马特·富奇龙
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ 艺术家:乔·罗根体验
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ 专辑艺术家:乔·罗根的经历
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ 持续时间:02:57:10.21,开始时间:0.000000,比特率:127 kb/s
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr I/FFMPEG﹕ 流#0:0:音频:mp3,44100 Hz,立体声,s16p,128 kb/s
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr I/FFmpegExtractor﹕ FFmpegExtrator,url:android源代码:0xb7c53e00,格式名称:mp3,格式名称:MP2/3(MPEG音频层2/3)
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr I/FFmpegExtractor﹕ 列出ffmpeg支持的格式:
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr I/FFmpegExtractor﹕ ========================================
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ 格式名称[00]:mpeg
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ 格式名称[01]:mpegts
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ 格式名称[02]:mov、mp4、m4a、3gp、3g2、mj2
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ 格式名称[03]:matroska,webm
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ 格式名称[04]:asf
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ 格式名称[05]:rm
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ 格式名称[06]:flv
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ 格式名称[07]:swf
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ 格式名称[08]:avi
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ 格式名称[09]:ape
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ 格式名称[10]:dts
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ 格式名称[11]:flac
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ 格式名称[12]:ac3
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ 格式名称[13]:wav
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ 格式名称[14]:ogg
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ 格式名称[15]:vc1
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ 格式名称[16]:hevc
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr I/FFmpegExtractor﹕ ========================================
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr D/FFMPEG﹕ android源代码关闭
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr W/FFmpegExtractor﹕ 嗅探BettersNiffFmpeg失败,请尝试LegacySniffFmpeg
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr I/FFmpegExtractor﹕ 源url:http://traffic.libsyn.com/joeroganexp/p518.mp3
07-06 15:52:34.6443363-3376/com.kevintcoughlin.smodr D/FFMPEG﹕ android源代码开始开放
07-06 15:52:34.6483363-3376/com.kevintcoughlin.smodr D/FFMPEG﹕ android open,url:android源代码:0xb7c53e00 |文件:http://traffic.libsyn.com/joeroganexp/p518.mp3
07-06 15:52:34.6483363-3376/com.kevintcoughlin.smodr D/FFMPEG﹕ ffmpeg开放android数据源成功,源ptr:0xb7c53e00
07-06 15:52:34.6483363-3376/com.kevintcoughlin.smodr D/FFMPEG﹕ android开源成功
07-06 15:52:34.7083363-3394/com.kevintcoughlin.smodr D/dalvikvm﹕ 所有释放361K的总成本,4%f
String key = DeveloperKey.CLIENT_ID;
    // Construct the URL for the query
    final String BASE_URL = "https://api.soundcloud.com/tracks/101150664/stream?";
    final String CLIENTID_PARAM = "client_id";

    Uri builtUri = Uri.parse(BASE_URL).buildUpon()
            .appendQueryParameter(CLIENTID_PARAM, key)
            .build();

    Log.v(LOG_TAG, "BUILT URI FOR STREAMING: " + builtUri);

    // Build the sample source
    FrameworkSampleSource sampleSource = new FrameworkSampleSource(getActivity(), builtUri, null, 1);

    // Build the track renderers
    TrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource, null, true);

    // Build the ExoPlayer and start playback
    ExoPlayer exoPlayer = ExoPlayer.Factory.newInstance(1);
    exoPlayer.prepare(audioRenderer);
    exoPlayer.setPlayWhenReady(true);