Доработан плеер
This commit is contained in:
@@ -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 };
|
||||
}
|
||||
Reference in New Issue
Block a user