exaclayer与aac + stream API问题19 KitKat及更低版本

时间:2016-01-30 17:53:28

标签: android exoplayer

您好我已经在Android工作室中使用exoplayer版本r1.5.3创建了我的应用程序当我尝试API 23或20时应用程序播放流没有问题,但如果我转到API 19我会收到此错误:

01-30 12:01:36.063 3996-4269/com.streaming507.aacplayer E/ExoPlayerImplInternal: Internal track renderer error.
com.google.android.exoplayer.ExoPlaybackException: com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException: Unable to connect to http://streaming507.com:9986
                                                                                     at com.google.android.exoplayer.SampleSourceTrackRenderer.maybeThrowError(SampleSourceTrackRenderer.java:154)
                                                                                     at com.google.android.exoplayer.SampleSourceTrackRenderer.maybeThrowError(SampleSourceTrackRenderer.java:145)
                                                                                     at com.google.android.exoplayer.ExoPlayerImplInternal.incrementalPrepareInternal(ExoPlayerImplInternal.java:283)
                                                                                     at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:205)
                                                                                     at android.os.Handler.dispatchMessage(Handler.java:98)
                                                                                     at android.os.Looper.loop(Looper.java:136)
                                                                                     at android.os.HandlerThread.run(HandlerThread.java:61)
                                                                                     at com.google.android.exoplayer.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40)
                                                                                  Caused by: com.google.android.exoplayer.upstream.HttpDataSource$HttpDataSourceException: Unable to connect to http://streaming507.com:9986
                                                                                     at com.google.android.exoplayer.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:202)
                                                                                     at com.google.android.exoplayer.upstream.DefaultUriDataSource.open(DefaultUriDataSource.java:135)
                                                                                     at com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractingLoadable.load(ExtractorSampleSource.java:741)
                                                                                     at com.google.android.exoplayer.upstream.Loader$LoadTask.run(Loader.java:209)
                                                                                     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
                                                                                     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                                                     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
                                                                                     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
                                                                                     at java.lang.Thread.run(Thread.java:841)
                                                                                  Caused by: java.net.ProtocolException: Unexpected status line: ICY 200 OK
                                                                                     at com.android.okhttp.internal.http.RawHeaders.setStatusLine(RawHeaders.java:108)
                                                                                     at com.android.okhttp.internal.http.RawHeaders.fromBytes(RawHeaders.java:308)
                                                                                     at com.android.okhttp.internal.http.HttpTransport.readResponseHeaders(HttpTransport.java:135)
                                                                                     at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:644)
                                                                                     at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:347)
                                                                                     at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:296)
                                                                                     at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:503)
                                                                                     at com.google.android.exoplayer.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:199)

我正在使用它来玩:

 Allocator allocator = new DefaultAllocator(BUFFER_SEGMENT_SIZE);
                String userAgent = Util.getUserAgent(context, "ExoPlayerDemo");
                DataSource dataSource = new DefaultUriDataSource(context, null, userAgent);
                ExtractorSampleSource sampleSource = new ExtractorSampleSource(
                        uri, dataSource, allocator, BUFFER_SEGMENT_SIZE * BUFFER_SEGMENT_COUNT);
                audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource);
                exoPlayer.prepare(audioRenderer);

                return true;

我如何解决这个问题,以便在API 19及更低版本上播放aac +流?

谢谢

0 个答案:

没有答案