Add media.ended binding.

This commit is contained in:
David Thompson 2024-05-22 21:29:50 -04:00
parent 111eb33429
commit e09efb46a0
2 changed files with 14 additions and 0 deletions

View file

@ -49,6 +49,7 @@ window.addEventListener("load", async () => {
},
media: {
newAudio: (src) => new Audio(src),
ended: (media) => media.ended,
play: (media) => media.play(),
pause: (media) => media.pause(),
volume: (media) => media.volume,

View file

@ -20,6 +20,7 @@
(library (dom media)
(export make-audio
media-ended?
media-play
media-pause
media-volume
@ -34,21 +35,33 @@
(define-foreign make-audio
"media" "newAudio"
(ref string) -> (ref extern))
(define-foreign %media-ended?
"media" "ended"
(ref extern) -> i32)
(define (media-ended? media)
(= (%media-ended? media) 1))
(define-foreign media-play
"media" "play"
(ref extern) -> none)
(define-foreign media-pause
"media" "pause"
(ref extern) -> none)
(define-foreign media-volume
"media" "volume"
(ref extern) -> f64)
(define-foreign set-media-volume!
"media" "setVolume"
(ref extern) f64 -> none)
(define-foreign set-media-loop!
"media" "setLoop"
(ref extern) i32 -> none)
(define-foreign media-seek
"media" "seek"
(ref extern) f64 -> none))