(&self, src: String, autoplay: bool, resolver: OneShotSender<()>)
| 128 | |
| 129 | #[tracing::instrument(level = "debug", skip(self, src, resolver))] |
| 130 | fn load(&self, src: String, autoplay: bool, resolver: OneShotSender<()>) { |
| 131 | let mut src = convert_file_src(src); |
| 132 | tracing::debug!("Loading audio {}", src); |
| 133 | |
| 134 | let audio_element = self.audio_element.clone(); |
| 135 | spawn_local(async move { |
| 136 | if src.starts_with("asset") { |
| 137 | src = get_blob_url(src).await; |
| 138 | } |
| 139 | |
| 140 | audio_element.set_src(src.as_str()); |
| 141 | audio_element.load(); |
| 142 | |
| 143 | if autoplay { |
| 144 | let _ = audio_element.play(); |
| 145 | } |
| 146 | |
| 147 | resolver.send(()).expect("Load failed to resolve"); |
| 148 | }); |
| 149 | } |
| 150 | |
| 151 | #[tracing::instrument(level = "debug", skip(self))] |
| 152 | fn play(&self) -> Result<()> { |
nothing calls this directly
no test coverage detected