Доработан плеер

This commit is contained in:
FrigaT
2026-04-16 04:11:04 +03:00
parent 3e18537a0e
commit 35140b71b7
4 changed files with 181 additions and 200 deletions

View File

@@ -26,14 +26,13 @@
const stop = () => { audio.pause(); audio.currentTime = 0; };
const setVolume = (volume) => { audio.volume = toNumber(volume); };
const setCurrentTime = (time) => { audio.currentTime = toNumber(time); };
const getDuration = () => durationReady ? durationValue : 0;
const getCurrentTime = () => toNumber(audio.currentTime);
audio.addEventListener('loadedmetadata', () => {
const current = toNumber(audio.currentTime);
durationValue = toNumber(audio.duration);
durationReady = durationValue > 0;
if (dotNetHelper && durationReady) {
dotNetHelper.invokeMethodAsync('OnDurationReady', durationValue);
dotNetHelper.invokeMethodAsync('OnTimeUpdate', current, durationValue);
}
});
@@ -50,6 +49,15 @@
}
});
audio.addEventListener('progress', () => {
if (dotNetHelper) {
if (audio.buffered.length > 0 && audio.duration) {
const bufferedEnd = toNumber(audio.buffered.end(audio.buffered.length - 1));
dotNetHelper.invokeMethodAsync('OnDownloadProgress', bufferedEnd);
}
}
});
// Возвращаем все методы, которые будут вызываться из C#
return { loadAndPlay, play, pause, stop, setVolume, setCurrentTime, getDuration, getCurrentTime };
return { loadAndPlay, play, pause, stop, setVolume, setCurrentTime };
}