У меня есть приложение, написанное на Elm, которое воспроизводит музыку Pandora, которая отображается в Electron. Большую часть времени, когда песня заканчивается, она переходит к следующей песне, как обычно, но иногда, если окно не сфокусировано и находится позади другого (обычно, когда я использую только один монитор), моя индикатор выполнения будет продолжать двигаться но звук не будет воспроизводиться, пока я не сфокусирую окно. Кто-нибудь знает, что может быть причиной этого?
onEnded
(case (gm.currentStation) of
Just station ->
station.id
Nothing ->
""
)
, id "songAudio"
, src
(case (List.head gm.songQueue) of
Just song ->
song.audioURL
Nothing ->
""
)
, autoplay True
]
[]
onEnded : String -> Attribute Msg
onEnded stationId =
Html.Events.on "ended"
(Decode.succeed (SongEnded stationId))
( { gm
| songQueue = (List.drop 1 gm.songQueue)
, previousSongs =
(case List.head gm.songQueue of
Just song ->
song
Nothing ->
{ songTitle = ""
, trackLength = 0
, rating = 0
, audioURL = ""
, artistName = ""
, albumTitle = ""
, albumArt = ""
, trackToken = ""
}
)
:: gm.previousSongs
, currentTime = 0
, isPlaying = True
}
, cmds
[ if List.length gm.songQueue == 2 then
Http.send LoadedNextSongs
(SongApi.getNext stationId gm.authToken False)
else
Cmd.none
]
)
Большую часть времени он продолжает играть песню как обычно, но иногда он не начинает песню, пока я не перефокусирую окно. (Индикатор выполнения продолжает отсчитывать, поэтому код, который его вызывает, должен работать.)