This commit is contained in:
mm 2024-10-30 16:22:07 +05:00
parent 198265c5fd
commit 89f642cea9

View File

@ -68,9 +68,9 @@ function addText(text) {
contentDiv.appendChild(p);
}
function playAudio(audioUrl, widgetID) {
function playAudio(audioUrl, widgetID, callback) {
if (!audioUrl.includes("http")) {
audioUrl = "http://147.45.237.174/api/widget/media/audio/file/get/" + String(widgetID)
audioUrl = "http://147.45.237.174/api/widget/media/audio/file/get/" + String(widgetID);
}
fetch(audioUrl)
.then(response => {
@ -87,12 +87,13 @@ function playAudio(audioUrl, widgetID) {
console.error('Ошибка при воспроизведении:', error);
});
setTimeout(() => {
audio.addEventListener('ended', () => {
audio.pause();
audio.remove()
console.log('Воспроизведение остановлено');
}, 5000);
})
audio.remove();
console.log('Музыка закончила играть');
if (callback) callback(); // Вызовите callback после завершения аудио
});
});
}
function playSpeech(text) {
@ -128,6 +129,10 @@ function playSpeech(text) {
)
}
function playSpeechAfterAudio(text) {
playAudio(widget.AudioUrl, widgetID, () => playSpeech(text));
}
function delay(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
@ -167,14 +172,13 @@ async function widgetView() {
if (widget.ImageUrl != "") {
addImage(widget.ImageUrl)
}
if (widget.AudioUrl) {
playAudio(widget.AudioUrl, widgetID)
}
await delay(6000);
playSpeech(donat.Text)
addText(donat.Text + " " + donat.Amount)
if (widget.AudioUrl) {
playSpeechAfterAudio(donat.Text);
} else {
playSpeech(donat.Text); // Если нет аудио, просто сразу играет речь
}
await delay(widget.Duration * 1000);
await endDonat(donat.ID)
}