just_audio icon indicating copy to clipboard operation
just_audio copied to clipboard

play audiobytes from websocket is error

Open colarking opened this issue 6 months ago • 0 comments

Which API doesn't behave as documented, and how does it misbehave? when i get the audio bytes by websocket,so i want to use StreamAudioSource to play. but the StreamAudioSource doesn't work well. it play failed

Minimal reproduction project (https://github.com/colarking/just_audio)

To Reproduce (i.e. user steps, not code) Steps to reproduce the behavior:

  1. run app
  2. Click Button 'play'
  3. play failed
  4. See error

Error messages

I/flutter (20609): nls.checkData.name=SynthesisCompleted,{namespace: FlowingSpeechSynthesizer, name: SynthesisCompleted, status: 20000000, message_id: 7062889361cb4c3d81119add5b5b17d5, task_id: 9cc79e810eae07788e7208dc9e49046c, status_text: Gateway:SUCCESS:Success.} I/flutter (20609): nls._checkData.eventCompleted stop() E/ExoPlayerImplInternal(20609): Playback error E/ExoPlayerImplInternal(20609): com.google.android.exoplayer2.ExoPlaybackException: Source error E/ExoPlayerImplInternal(20609): at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:644) E/ExoPlayerImplInternal(20609): at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:616) E/ExoPlayerImplInternal(20609): at android.os.Handler.dispatchMessage(Handler.java:102) E/ExoPlayerImplInternal(20609): at android.os.Looper.loopOnce(Looper.java:205) E/ExoPlayerImplInternal(20609): at android.os.Looper.loop(Looper.java:294) E/ExoPlayerImplInternal(20609): at android.os.HandlerThread.run(HandlerThread.java:67) E/ExoPlayerImplInternal(20609): Caused by: com.google.android.exoplayer2.upstream.HttpDataSource$HttpDataSourceException: java.net.SocketTimeoutException: timeout E/ExoPlayerImplInternal(20609): at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:382) E/ExoPlayerImplInternal(20609): at com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:263) E/ExoPlayerImplInternal(20609): at com.google.android.exoplayer2.upstream.StatsDataSource.open(StatsDataSource.java:84) E/ExoPlayerImplInternal(20609): at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1005) E/ExoPlayerImplInternal(20609): at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:412) E/ExoPlayerImplInternal(20609): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) E/ExoPlayerImplInternal(20609): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) E/ExoPlayerImplInternal(20609): at java.lang.Thread.run(Thread.java:1012) E/ExoPlayerImplInternal(20609): Caused by: java.net.SocketTimeoutException: timeout E/ExoPlayerImplInternal(20609): at com.android.okhttp.okio.Okio$3.newTimeoutException(Okio.java:214) E/ExoPlayerImplInternal(20609): at com.android.okhttp.okio.AsyncTimeout.exit(AsyncTimeout.java:263) E/ExoPlayerImplInternal(20609): at com.android.okhttp.okio.AsyncTimeout$2.read(AsyncTimeout.java:217) E/ExoPlayerImplInternal(20609): at com.android.okhttp.okio.RealBufferedSource.indexOf(RealBufferedSource.java:307) E/ExoPlayerImplInternal(20609): at com.android.okhttp.okio.RealBufferedSource.indexOf(RealBufferedSource.java:301) E/ExoPlayerImplInternal(20609): at com.android.okhttp.okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:197) E/ExoPlayerImplInternal(20609): at com.android.okhttp.internal.http.Http1xStream.readResponse(Http1xStream.java:188) E/ExoPlayerImplInternal(20609): at com.android.okhttp.internal.http.Http1xStream.readResponseHeaders(Http1xStream.java:129) E/ExoPlayerImplInternal(20609): at com.android.okhttp.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:750) E/ExoPlayerImplInternal(20609): at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:622) E/ExoPlayerImplInternal(20609): at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:475) E/ExoPlayerImplInternal(20609): at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411) E/ExoPlayerImplInternal(20609): at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542) E/ExoPlayerImplInternal(20609): at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.makeConnection(DefaultHttpDataSource.java:559) E/ExoPlayerImplInternal(20609): at com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:376) E/ExoPlayerImplInternal(20609): ... 7 more E/ExoPlayerImplInternal(20609): Caused by: java.net.SocketException: Socket closed E/ExoPlayerImplInternal(20609): at java.net.SocketInputStream.read(SocketInputStream.java:188) E/ExoPlayerImplInternal(20609): at java.net.SocketInputStream.read(SocketInputStream.java:143) E/ExoPlayerImplInternal(20609): at com.android.okhttp.okio.Okio$2.read(Okio.java:138) E/ExoPlayerImplInternal(20609): at com.android.okhttp.okio.AsyncTimeout$2.read(AsyncTimeout.java:213) E/ExoPlayerImplInternal(20609): ... 19 more E/AudioPlayer(20609): TYPE_SOURCE: java.net.SocketTimeoutException: timeout I/ExoPlayerImpl(20609): Release ea2671b [ExoPlayerLib/2.18.7] [meizu20Pro, MEIZU 20 Pro, meizu, 34] [goog.exo.core, goog.exo.exoplayer, goog.exo.decoder, goog.exo.datasource] I/flutter (20609): VoicePlayer(0)....playerStateStream...tate=playing=true,processingState=ProcessingState.idle I/ExoPlayerImpl(20609): Init 3cc25a9 [ExoPlayerLib/2.18.7] [meizu20Pro, MEIZU 20 Pro, meizu, 34] E/flutter (20609): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: (0) Source error E/flutter (20609): #0 AudioPlayer._load (package:just_audio/just_audio.dart:875:9) E/flutter (20609): E/flutter (20609): #1 AudioPlayer._setPlatformActive.setPlatform (package:just_audio/just_audio.dart:1501:28) E/flutter (20609): E/flutter (20609): #2 AudioPlayer.play (package:just_audio/just_audio.dart:952:28) E/flutter (20609): E/flutter (20609):

If applicable, copy & paste error message here, within the triple quotes to preserve formatting.

Expected behavior play successful and audiobytes play right Smartphone (please complete the following information): • MEIZU 20 Pro (mobile) • 391QYGCD2254S • android-arm64 • Android 14 (API 34) • macOS (desktop) • macos • darwin-x64 • macOS 14.5 23F79 darwin-x64 • Chrome (web) • chrome • web-javascript • Google Chrome 127.0.6533.119

Flutter SDK version Flutter SDK version [✓] Flutter (Channel stable, 3.24.0, on macOS 14.5 23F79 darwin-x64, locale zh-Hans-CN) • Flutter version 3.24.0 on channel stable at /Users/amaya/fvm/versions/stable • Upstream repository https://github.com/flutter/flutter.git • Framework revision 80c2e84975 (2 weeks ago), 2024-07-30 23:06:49 +0700 • Engine revision b8800d88be • Dart version 3.5.0 • DevTools version 2.37.2

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0) • Android SDK at /Users/amaya/Android • Platform android-34, build-tools 34.0.0 • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11609105) • All Android licenses accepted.

colarking avatar Aug 15 '24 12:08 colarking