fix(media): delay volume enforcement — VLC audio output not ready at playing event
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
+20
-6
@@ -364,9 +364,16 @@ object GlobalMediaPlayer {
|
||||
isBuffering = false,
|
||||
duration = mediaPlayer.status().length(),
|
||||
)
|
||||
// Enforce volume — VLC can reset it on new media
|
||||
mediaPlayer.audio().setVolume(state.volume)
|
||||
mediaPlayer.audio().isMute = state.isMuted
|
||||
// Enforce volume after a short delay — VLC's audio output
|
||||
// may not be ready immediately when the playing event fires
|
||||
scope.launch {
|
||||
delay(100)
|
||||
try {
|
||||
mediaPlayer.audio().setVolume(state.volume)
|
||||
mediaPlayer.audio().isMute = state.isMuted
|
||||
} catch (_: Exception) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun paused(mediaPlayer: MediaPlayer) {
|
||||
@@ -424,9 +431,16 @@ object GlobalMediaPlayer {
|
||||
isBuffering = false,
|
||||
duration = mediaPlayer.status().length(),
|
||||
)
|
||||
// Enforce volume — VLC can reset it on new media
|
||||
mediaPlayer.audio().setVolume(state.volume)
|
||||
mediaPlayer.audio().isMute = state.isMuted
|
||||
// Enforce volume after a short delay — VLC's audio output
|
||||
// may not be ready immediately when the playing event fires
|
||||
scope.launch {
|
||||
delay(100)
|
||||
try {
|
||||
mediaPlayer.audio().setVolume(state.volume)
|
||||
mediaPlayer.audio().isMute = state.isMuted
|
||||
} catch (_: Exception) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun paused(mediaPlayer: MediaPlayer) {
|
||||
|
||||
Reference in New Issue
Block a user