this post was submitted on 03 Sep 2023
18 points (100.0% liked)
Rust Programming
8141 readers
53 users here now
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
You say you've tried longer durations, but you're only sleeping for microseconds here... I'd assume you're simply playing the sound 30 times in 30 microseconds and as such only hear the last iteration. If you want the whole file to play every time, you could replace
play_raw
withplay_once
and use the returned Sink to simplysleep_until_end()
instead of your own delay.Edit: I just saw that you wrote that the clip played once and then quit, that doesn't make a lot of sense (with that sleep duration, it should quit pretty much immediately). It's been a while since I played around with Rodio and things seem to have changed a little. From quickly looking into it, I'd probably only call your
play_sound
function once and edit it to create aSink
in there (see the example in the documentation). You can then append an infinitely repeating source to that sink and sleep for you total desired duration.