1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-17 14:11:06 +00:00

Fix AudioStreamPlayer get_playback_position() for web build

This commit is contained in:
Yahkub-R
2024-08-06 09:46:37 -04:00
parent 446e7a7c22
commit bcd776e441
10 changed files with 183 additions and 3 deletions

View File

@@ -1369,6 +1369,12 @@ bool AudioServer::is_playback_active(Ref<AudioStreamPlayback> p_playback) {
float AudioServer::get_playback_position(Ref<AudioStreamPlayback> p_playback) {
ERR_FAIL_COND_V(p_playback.is_null(), 0);
// Samples.
if (p_playback->get_is_sample() && p_playback->get_sample_playback().is_valid()) {
Ref<AudioSamplePlayback> sample_playback = p_playback->get_sample_playback();
return AudioServer::get_singleton()->get_sample_playback_position(sample_playback);
}
AudioStreamPlaybackListNode *playback_node = _find_playback_list_node(p_playback);
if (!playback_node) {
return 0;
@@ -1835,6 +1841,11 @@ bool AudioServer::is_sample_playback_active(const Ref<AudioSamplePlayback> &p_pl
return AudioDriver::get_singleton()->is_sample_playback_active(p_playback);
}
double AudioServer::get_sample_playback_position(const Ref<AudioSamplePlayback> &p_playback) {
ERR_FAIL_COND_V_MSG(p_playback.is_null(), false, "Parameter p_playback is null.");
return AudioDriver::get_singleton()->get_sample_playback_position(p_playback);
}
void AudioServer::update_sample_playback_pitch_scale(const Ref<AudioSamplePlayback> &p_playback, float p_pitch_scale) {
ERR_FAIL_COND_MSG(p_playback.is_null(), "Parameter p_playback is null.");
return AudioDriver::get_singleton()->update_sample_playback_pitch_scale(p_playback, p_pitch_scale);