ExoPlayer's play() is a no-op when playWhenReady is already true. After a pipeline rebuild (stop() doesn't reset playWhenReady), the player can get stuck with playWhenReady=true but isPlaying=false. Subsequent play() calls do nothing. Fix by calling pause() before play() to toggle playWhenReady off then on, forcing ExoPlayer to re-evaluate its state machine. Three fixes: - verifyPlaybackStarted(): toggle playWhenReady instead of redundant play() - resume(): detect stuck playWhenReady=true and toggle before play() - onOutputDeviceChanged(): add verifyPlaybackStarted() safety net after pipeline rebuild Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src | ||
| build.gradle.kts | ||
| proguard-rules.pro | ||