С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
 Аватар для Azzar90
-3 / -1 / 1
Регистрация: 22.07.2017
Сообщений: 195

Объект аудио и его свойство перемотки курсором

08.02.2018, 13:57. Показов 3302. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.Знаете мне вот однажды дали такой код который снизу для плееров и вот начал изучать его и уже более менее стало понятным.Меня интересует строчка
JavaScript
1
progress.style.width = Math.ceil(aud.currentTime / aud.duration * parseInt(contayner.style.width)) + "px";
я как заметил первым идёт написано progress и это получается произошла такая выборка от блока div с его id и скажите мне тот parseInt получается прибавляет единицу пиксела да?в скобке у parseInt написано contayner и это выборка как я понял тоже,но почему не выборка progress?Ведь всё таки progress прибавляет единицу пиксела.
для div с его id="progress".И последний вопрос а как сделать перемотку мышью?какое свойство из объекта audio к нему относится и что дописать к блокам div чтобы перемотка работала?
Ах да кстати,почему здесь написано так aud.currentTime / aud.duration?duration я понимаю это продолжительность всего аудио файла но почему идёт деление на aud.currentTime?

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
<div id="contayner" style="position:absolute;background:gold;width:300px;height:30px">
        <div id="progress" style="position:absolute;background:blue;width:0px;height:30px"></div>
    </div>
    
    <script>
$('.audio').click(function () {
        aud.src = this.dataset.src;
        myinterval = setInterval(function(){
             
            progress.style.width = Math.ceil(aud.currentTime / aud.duration * parseInt(contayner.style.width)) + "px";
        },200);
      });
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.02.2018, 13:57
Ответы с готовыми решениями:

Аудио плеер, вывести полоску перемотки
Привет ребят.Помогите пожалуйста.подскажите как мне вывести полоску прокрутки длинны песни в плеере..вот код как вывожу &lt;a...

Аудио объект - Audio is not a constructor
var aud = new Audio(); aud.src('https://host/audios/audio1.mp3'); aud.load(); Вылетает ошибка Audio is not a...

Как в одну строку создать новый объект, и получить его свойство
Вот мой код: Class Db{ public $connection; function __construct($host, $db, $user, $pass){ try { $db = new...

3
707 / 309 / 191
Регистрация: 05.03.2015
Сообщений: 822
08.02.2018, 15:39
Лучший ответ Сообщение было отмечено DoctorJ87 как решение

Решение

Цитата Сообщение от DoctorJ87 Посмотреть сообщение
написано progress и это получается произошла такая выборка от блока div с его id
progress - может быть или выборкой по id, или переменной. В вашем случае это id

Цитата Сообщение от DoctorJ87 Посмотреть сообщение
тот parseInt получается прибавляет единицу пиксела да?
parseInt лишь принимает строку в качестве аргумента и возвращает целое число. Но т.к. в фрагменте progress.style.width = ... нужно передать значение в пикселях (в вашем случае), то в резульатату округления Math.ceil добавляются "px"

Цитата Сообщение от DoctorJ87 Посмотреть сообщение
почему не выборка progress?
потому-что вам нужно знать ширину контейнера дабы прогрессбар правильно склалировался. Попробуйте поменять с contayner на progress и сами увидите результат

Цитата Сообщение от DoctorJ87 Посмотреть сообщение
какое свойство из объекта audio к нему относится
audioElement.currentTime = 30000 перемотает воспроизведение на 30 секунду. Думаю, понятно как этим воспользоваться

Цитата Сообщение от DoctorJ87 Посмотреть сообщение
почему здесь написано так aud.currentTime / aud.duration?
currentTime - текущее время воспроизведения, duration - длина трека, contayner.style.width ширина контейнера.
currentTime / duration - будет числом от 0 до 1, которое значит какая часть аудио уже проиграла. Умножение на ширину контейнера даст ширину в пикселях (от 0 до 300 в вашем случае). Результат вы и используете для того, чтобы задать ширину ползунка progress
1
 Аватар для Azzar90
-3 / -1 / 1
Регистрация: 22.07.2017
Сообщений: 195
08.02.2018, 16:09  [ТС]
msheal, currentTime - текущее время воспроизведения в смысле например запустил проигрывание музыки и прошло 3 секунды,и эти 3 секунды и есть текущее время воспроизведения?

Добавлено через 7 минут
msheal, Знаете ли я вот тут добавил aud.currentTime = 10000; и нажал на плэй и progress моментально заполнился,как бы проигралась музыкой.Куда его верно вставлять?и курсором мыши налево и направо,назад и вперёд не перематывает почему-то???

Добавлено через 12 минут
msheal, знаете даже подумал что для того чтобы перематывало нужно курсор установить в положение cursor:e-resize; но всё равно чё то не помогло.
0
Юзер с абсолютным слухом
 Аватар для Опан
709 / 489 / 195
Регистрация: 17.12.2010
Сообщений: 1,428
08.02.2018, 16:53
Цитата Сообщение от msheal Посмотреть сообщение
audioElement.currentTime = 30000
От куда взято 30000, а не 30? Поэтому и зашкаливает.
Цитата Сообщение от DoctorJ87 Посмотреть сообщение
как сделать перемотку мышью?
В момент клика вычесть из X-координаты курсора на странице X-координату левого края блока contayner, и полученную разницу задать, как новую ширину блока progress и задать currentTime, равное progress.style.width / contayner.style.width * aud.duration Если более точно:
JavaScript
1
aud.currentTime = parseInt(progress.style.width) / parseInt(contayner.style.width) * aud.duration + "px";
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.02.2018, 16:53
Помогаю со студенческими работами здесь

При попытке создать объект obj=Server.CreateObject('Name.ClassName') Возникает ошибка, 'Объект не поддерживает это свойство или метод.'
При попытке создать объект obj=Server.CreateObject('Name.ClassName') Возникает ошибка, 'Объект не поддерживает это свойство или метод.'...

Как заставить объект следить за курсором?
Доброго времени суток! Может кто нибудь написать пример кода, где какой-нибудь объект (например ректангл) поворачивался в сторону курсора?...

Объект поворачивается вслед за курсором мыши
Должно получиться что-то типа &quot;лицо, следящее за мышью&quot;. Бочку сделал, нашел в нете похожее, но дико запутанное, ничерта не...

Как определить какой объект находится под курсором мыши?
У меня такая проблемка: в событии MouseUp необходимо получить ссылку на объект, который в данный момент находится под курсором... Есть...

Может ли объект-член, или объект-элемент достучаться к содержащему его?
Предположим, class A { ... }; class B { .... A a; ... };


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru