Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 19.11.2021, 22:56
Аспирант
Отправить личное сообщение для ethereal Посмотреть профиль Найти все сообщения от ethereal
 
Регистрация: 06.05.2019
Сообщений: 94

нет, у меня уже сделано возможность как на youtube, показывать только кусок видео. Хочу сделать и второй вариант, на выбор так сказать
Ответить с цитированием
  #12 (permalink)  
Старый 19.11.2021, 23:49
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,745

Сложновато оказалось (давно с видео не работал)
Получилось как то так
(Пример видео - какой нашел в инете не самый короткий

<body>
<video id='video' src='https://www.nlm.nih.gov/web/documentation/TemplateDocumentation/video_files/IN_Intro-800.mp4'>
</video>
<br>
<button id=bs>Start</button>
<script>
let duration;
const start = 20;
const dplay = 3;
const dskip = 7;
const video = document.getElementById('video')

const play = (d) => {
	console.log('play', video.currentTime)
	const te = Math.min(video.currentTime + d, duration)
	const result = !(te === duration)
	return new Promise ((res) => {
		const handl = () => {
			if (video.currentTime > te-0.05) {
				video.removeEventListener('timeupdate', handl)
				res (result);
			}
		}
		video.addEventListener('timeupdate', handl)
		video.play();
	})	
}

const skip = (d) => {
	console.log('skip', video.currentTime)
	const ts = Math.min(video.currentTime + d, duration)
	return new Promise ((res) => {
		if (ts === duration) res (false);
		const handl = () => {
			video.removeEventListener('seeked', handl)
			res (true);
		}
		video.addEventListener('seeked', handl)
		video.currentTime = ts;
	})			
}

const work = async () => {
	let result = true;
	result = await skip (start)
	while (result) {
		result = await play(dplay)
		if (result) result = await skip(dskip)
	}
}

video.addEventListener('durationchange', () => {
	duration = video.duration;
})
document.getElementById('bs').onclick = () => work()
</script>
</body>
Ответить с цитированием
  #13 (permalink)  
Старый 20.11.2021, 17:31
Аспирант
Отправить личное сообщение для ethereal Посмотреть профиль Найти все сообщения от ethereal
 
Регистрация: 06.05.2019
Сообщений: 94

благодарю
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить содержимое контейнера в переменную? snovapavel jQuery 0 27.11.2016 04:56
Как в фильтр выборки по атрибуту занести переменную? tanto39 jQuery 9 29.06.2014 01:53
Можно ли передать переменную ajax'om ? Vladislav Общие вопросы Javascript 2 18.02.2013 06:34
Как передать переменную в другую функцию adder-vb jQuery 3 31.01.2013 14:29
Как обозначить переменную выбранную в FileChooser? woo_hoo Общие вопросы Javascript 4 03.07.2008 12:58