-
Notifications
You must be signed in to change notification settings - Fork 6k
Description
play wav error
Include the following:
exo version: 2.11.3
Device OS version: 10.0. 9.0
Device Name: Xiaomi 8, huawei mate30
error logs:
E/LoadTask: Unexpected exception loading stream
java.lang.ArrayIndexOutOfBoundsException: size=65536 offset=14960 byteCount=-224
at com.android.okhttp.okio.Util.checkOffsetAndCount(Util.java:31)
at com.android.okhttp.okio.RealBufferedSource$1.read(RealBufferedSource.java:369)
at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.readInternal(DefaultHttpDataSource.java:696)
at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.read(DefaultHttpDataSource.java:357)
at com.google.android.exoplayer2.upstream.DefaultDataSource.read(DefaultDataSource.java:182)
at com.google.android.exoplayer2.upstream.StatsDataSource.read(StatsDataSource.java:91)
at com.google.android.exoplayer2.extractor.DefaultExtractorInput.readFromDataSource(DefaultExtractorInput.java:287)
at com.google.android.exoplayer2.extractor.DefaultExtractorInput.read(DefaultExtractorInput.java:62)
at com.google.android.exoplayer2.source.SampleDataQueue.sampleData(SampleDataQueue.java:183)
at com.google.android.exoplayer2.source.SampleQueue.sampleData(SampleQueue.java:471)
at com.google.android.exoplayer2.extractor.wav.WavExtractor$PassthroughOutputWriter.sampleData(WavExtractor.java:265)
at com.google.android.exoplayer2.extractor.wav.WavExtractor.read(WavExtractor.java:139)
at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:982)
at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:391)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)
2020-03-23 21:07:51.104 18903-19431/com.youdao.ydtikudemo E/ExoPlayerImplInternal: Source error.
com.google.android.exoplayer2.upstream.Loader$UnexpectedLoaderException: Unexpected ArrayIndexOutOfBoundsException: size=65536 offset=14960 byteCount=-224
at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:413)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)
Caused by: java.lang.ArrayIndexOutOfBoundsException: size=65536 offset=14960 byteCount=-224
at com.android.okhttp.okio.Util.checkOffsetAndCount(Util.java:31)
at com.android.okhttp.okio.RealBufferedSource$1.read(RealBufferedSource.java:369)
at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.readInternal(DefaultHttpDataSource.java:696)
at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.read(DefaultHttpDataSource.java:357)
at com.google.android.exoplayer2.upstream.DefaultDataSource.read(DefaultDataSource.java:182)
at com.google.android.exoplayer2.upstream.StatsDataSource.read(StatsDataSource.java:91)
at com.google.android.exoplayer2.extractor.DefaultExtractorInput.readFromDataSource(DefaultExtractorInput.java:287)
at com.google.android.exoplayer2.extractor.DefaultExtractorInput.read(DefaultExtractorInput.java:62)
at com.google.android.exoplayer2.source.SampleDataQueue.sampleData(SampleDataQueue.java:183)
at com.google.android.exoplayer2.source.SampleQueue.sampleData(SampleQueue.java:471)
at com.google.android.exoplayer2.extractor.wav.WavExtractor$PassthroughOutputWriter.sampleData(WavExtractor.java:265)
at com.google.android.exoplayer2.extractor.wav.WavExtractor.read(WavExtractor.java:139)
at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:982)
at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:391)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)
wav file: http://ydschool-online.nosdn.127.net/tiku/f65c1f5fa51ad5fc2015b582cf98c241049fa9f7bc324287035fd66136bcb298.wav
mycode:
player = new SimpleExoPlayer.Builder(holdingActivity)
.setTrackSelector(new DefaultTrackSelector(holdingActivity))
.setLooper(holdingActivity.getMainLooper())
.build();
DataSource.Factory factory = new DefaultDataSourceFactory(holdingActivity.get(),
Util.getUserAgent(holdingActivity.get(), "aaa"), null);
DefaultExtractorsFactory extractorsFactory =
new DefaultExtractorsFactory().setConstantBitrateSeekingEnabled(true);
ProgressiveMediaSource progressiveMediaSource =
new ProgressiveMediaSource.Factory(factory, extractorsFactory)
.createMediaSource(uri);
player.addListener(myListener);
player.prepare(progressiveMediaSource);
player.setPlayWhenReady(true);