Делаем аудиоплеер HTML / SCSS / JS.

Поделиться
HTML-код
  • Опубликовано: 5 июн 2024
  • 🏆 Поднять мотивацию и получить плюшки(сборка, исходники, чат со мной):
    🔹 Patreon: / roman_timoshchuk
    🔹 Buy me a coffee: www.buymeacoffee.com/tymoshchuk
    🔹 Crypto:
    👉 USDT(ERC20): 0xA4008910De17DB20c7505425316fF72d4C5Eed96
    👉 USDT(BEP20): 0x4350c4E1C0bB35634C7fDE1cFB278BE0606E3822
    👉 Binance Pay: 432902886
    ⏱️ Тайм-коды: ⏱️
    00:00 Обзор приложения
    00:45 Обзор стартового шаблона
    01:24 Разбираем макет
    02:20 Делаем HTML верстку
    04:30 Пишем стили на препроцессоре SCSS
    09:15 Переходим к JS, получаем DOM элементы
    12:56 Загрузка песни
    19:29 Play, Pause функции
    28:22 Функция "следующая песня"
    31:10 Функция "предыдущая песня"
    32:45 Реализуем прогрессбар и промотку песни
    42:50 Клянчу фидбек о моих видео
    📨 Сотрудничество ► timoschuk.roman@gmail.com
    📨 Business inquiries ► timoschuk.roman@gmail.com

Комментарии • 157

  • @lets_try_js
    @lets_try_js  3 года назад +18

    Ребят, накидайте фидбека )

    • @yunkidze
      @yunkidze 2 года назад +1

      Спасибо большое, а как сделать отключение звука на айфоне, при отключения звука аппаратной кнопкой?)

    • @user-lj3fk5to2g
      @user-lj3fk5to2g 2 года назад +1

      Спасибо! Все понятно с первого раза!

    • @lets_try_js
      @lets_try_js  2 года назад

      @@user-lj3fk5to2g рад стараться)

    • @wizartable
      @wizartable 2 года назад +1

      За урок спасибо, но представь что ты в самом начале пути обучения(ты бомж-студент из общаги, который ест хлеб с мазиком и огурцами, ходит везде пешком) У тебя нет денег на патреон. Представил? Ок, выложи ссылку на макет. Графику с аудио на гугл диск для таких людей тоже выложи плз, если не сложно.
      А то хочется учиться и повторить урок, но...

    • @lets_try_js
      @lets_try_js  2 года назад

      @@wizartable у меня не осталось исходников

  • @user-ys5kt7fr4y
    @user-ys5kt7fr4y Год назад +4

    это лучшее, что я нашел по запросу "как сделать аудиоплеер". порезал на кусочки, пережевал все 100 раз, в рот положил. респект за твой труд

  • @user-ul9ls7ox1t
    @user-ul9ls7ox1t 3 года назад +2

    Благодарю за ваш труд. Очень нравится как объясняете. На таких вот практических задачах, и учишься.

  • @jik856
    @jik856 2 года назад +15

    Сложно было найти подобный контент на русском, спасибо за старания, ты молодец!

    • @lets_try_js
      @lets_try_js  2 года назад

      благодарю)

    • @jik856
      @jik856 2 года назад

      @@lets_try_js единственная проблема в том, что у меня duration возвращает почему-то Infinity, не совсем понимаю почему...

  • @cult2839
    @cult2839 Год назад +7

    Вот это контент! Супер спасибо, получилось в своем проектике по аналогии реализовать работу плеера, очень хорошее объяснение! И еще было бы интересно посмотреть на добавление возможности регулировать громкость.

  • @user-eg1qk2zi4v
    @user-eg1qk2zi4v 2 года назад +2

    Спасибо тебе огромное) Доносишь информацию максимально просто и понятно

  • @ingazhelnova4798
    @ingazhelnova4798 Год назад +1

    Отличный урок! Большое спасибо!!!

  • @asmix7328
    @asmix7328 2 года назад +3

    Огонь! Спасибо за урок! Все понятно и доступно для начинающего) Попробовал повторить...всё получилось)

    • @lets_try_js
      @lets_try_js  2 года назад

      рад помочь )

    • @user-dz6jr3vu9x
      @user-dz6jr3vu9x Год назад

      Если удалось повторить. Значит наверное и понять. Можете тогда подсказать как после объявления массива через переменную songs далее используется song?

  • @user-yf5ip7td2y
    @user-yf5ip7td2y 3 года назад +1

    Круто , искал такой контент . Спасибо за видео!

    • @lets_try_js
      @lets_try_js  3 года назад +1

      спасибо)
      раз помочь )

  • @just__did__it
    @just__did__it 2 года назад +1

    Офигенный урок, спасибо

  • @user-yj3lf2nl6w
    @user-yj3lf2nl6w 2 года назад +2

    Все отлично! первое нормальное видео с объяснением кода за сегодня) Продолжай в том же духе

    • @lets_try_js
      @lets_try_js  2 года назад

      Спасибо )

    • @user-yj3lf2nl6w
      @user-yj3lf2nl6w 2 года назад +1

      @@lets_try_js единственное у меня не работает ${song} пришлось сделать + song +'mp3'

    • @lets_try_js
      @lets_try_js  2 года назад

      @@user-yj3lf2nl6w главное что в итоге все получилось)

  • @markchumakov2169
    @markchumakov2169 Год назад +1

    Спасибо вам большое за этот урок. Помимо того как делать плеер, узнал много интересных вещей!)

  • @markosvager1063
    @markosvager1063 2 года назад

    Большое спасибо за это
    замечательное видео.
    Вы объяснили нам много хороших
    вещей - мне понравилось.
    Все найкраще.

  • @user-sv4zd2hf8r
    @user-sv4zd2hf8r 2 года назад

    это очень крутой урок, спасибо ОГРОМНОЕ!

  • @dvdonov
    @dvdonov Год назад

    Спасибо за видео! Очень доступно объясняете

  • @user-rx1ih7nv7r
    @user-rx1ih7nv7r 3 года назад

    Круто 🔥🔥🔥, обязательно попробую сделать, спасибо большое!

    • @lets_try_js
      @lets_try_js  3 года назад

      успехов тебе)
      у тебя все получится)

  • @user-ts8ek3oz8h
    @user-ts8ek3oz8h 2 года назад

    Продолжай так же бро, видосы просто топовые!!!

  • @user-cb7vw5jr1f
    @user-cb7vw5jr1f 2 года назад +1

    Спасибо за видео, очень все понятно и круто!

    • @lets_try_js
      @lets_try_js  2 года назад

      спасибо за отзыв )

  • @tabrisel
    @tabrisel 8 месяцев назад

    Спасибо большое за подробный урок!) Еще и с тайм-кодами. Автор умничка :)

  • @apsolution4722
    @apsolution4722 2 года назад +1

    Круто, контент на высоте) Спасибо

  • @user-pt2uz5st7i
    @user-pt2uz5st7i Год назад

    очень круто и легко объяснил, спасибо

  • @sheix8
    @sheix8 3 года назад +3

    Спасибо за видео! По поводу подачи материала все хорошо. Отличный микрофон, приятный голос, культурная речь. К сожалению, не могу оценить насколько всё хорошо объясняется, так как совсем новичок, но подача очень хорошая.

    • @lets_try_js
      @lets_try_js  3 года назад +1

      Спасибо! Ну, все мы когда-то были новичками. Успехов в обучении! )

  • @user-hq3em8iy9c
    @user-hq3em8iy9c 2 года назад +1

    Большое спасибо. Смотрела на перемотке. Хочется все быстрее))) видос классный и полезный. Жаль не сразу попался мне.
    Успехов!

  • @arsttws2667
    @arsttws2667 Год назад

    все отлично, продолжай в том же духе

  • @youtubestar3495
    @youtubestar3495 2 года назад +1

    Искал, нашел!!! Спасибо за тутор!!!

  • @user-rq4qh8uv2k
    @user-rq4qh8uv2k 2 года назад +1

    Спасибо огромное, очень помогло в работе

  • @m1000melochey
    @m1000melochey Год назад

    Спасибо за урок. Я только начала свой путь в IT, много не знаю. Очень долго искала подобный урок. Все отлично разжевано. Действительно еще сюда добавить кнопку звука и цены бы не было.

  • @user-bk8yh8be3c
    @user-bk8yh8be3c 2 года назад

    Все очень доходчиво!!! Супер просто!!!!

  • @user-ts8ek3oz8h
    @user-ts8ek3oz8h 2 года назад

    Ты лучший! Спасибо большое мужик!!!

  • @No..Name.
    @No..Name. Год назад

    О, круто, сейчас попробую сделать плеер по видео

  • @jekagabrusevich6831
    @jekagabrusevich6831 2 года назад

    Спасибо, крутой урок

  • @aliakseipliutsinski2890
    @aliakseipliutsinski2890 8 месяцев назад

    Дай бог вам здоровья за такой крутой ролик ❤

  • @user-tn5ez4ei3m
    @user-tn5ez4ei3m 8 месяцев назад

    Спасибо, дружище, очень понятно и доступно!!! Для начинающих этот видос просто бомба!!!!

  • @user-vj3gp1nm8x
    @user-vj3gp1nm8x Год назад

    спасибо! отличная работа = спасибо!

  • @user-ze6um7qg4c
    @user-ze6um7qg4c Год назад

    Спасибо огромное, Ваша работа конечно шикарно выглядит, вроде визуал обычный, но макет круто сделано и сама реалищация очень доступная, у меня было полегче требование, вы очень помогли, спасибо!!!

    • @lets_try_js
      @lets_try_js  Год назад

      рад оказаться полезным)

  • @user-xq9zt4os5h
    @user-xq9zt4os5h 2 года назад +1

    Большое спасибо за отличную работу!!! Мне было очень полезно твое видео! Было бы круто, если бы было открыто параллельно два экрана сразу(html документ и js), так проще ориентироваться к чему обращаешься в процессе )))

    • @lets_try_js
      @lets_try_js  2 года назад +1

      я никак не привыкну к таком формату, когда два окна ))

  • @sony1939
    @sony1939 8 месяцев назад

    Cпасибо! супер понятно работает!

  • @artemkamyshenkov3492
    @artemkamyshenkov3492 Год назад +1

    Спасибо большое)

  • @user-em2zl1lp3z
    @user-em2zl1lp3z 3 года назад

    Спасибо за контент 👍 давай ещё вёрстку со своей супер крутой сборкой

    • @lets_try_js
      @lets_try_js  3 года назад

      есть в планах такой видос, но еще не знаю что выбрать
      верста сложного макета с крутыми анимациями или что по - проще)

    • @read_and_listen
      @read_and_listen 3 года назад

      @@lets_try_js первый вариант)

    • @user-em2zl1lp3z
      @user-em2zl1lp3z 3 года назад

      @@lets_try_js конечно сложного 🤘🏻

  • @user-iy3mm1jz8r
    @user-iy3mm1jz8r Год назад

    Все круто

  • @ariionariion7191
    @ariionariion7191 Год назад

    Ты очень хорош. Долго искал как сделать свой плеер у меня есть макет каторый я хотел сверстать там кнш все подругому но ты с кайфом обянил и я сделал этот макет теперь он чуть денамичней и деше прияно все четко все красиво продолжай

  • @user-kg6fz5tz2b
    @user-kg6fz5tz2b 3 года назад

    Спасибо! Только недавно случайно увидел канал! Хорошо, что подписался! Лайк, колокол нажал!)

    • @lets_try_js
      @lets_try_js  3 года назад +1

      воу)))
      спасибо тебе !))

  • @liveforever1424
    @liveforever1424 2 года назад +1

    Жеско мужик!

  • @user-kd4yc5jl9w
    @user-kd4yc5jl9w 2 года назад +2

    сделано, хорошо. мне как новичку было приятно слушать. без воды, по пунктам, чётко и понятно, каждый шаг осмыслен и объяснён. не нужно было останавливать видео чтобы понять что конкретно ты сделал. продолжай в том же духе. единственное что я не понял немного как ты работаешь с классами внутри css но это скорее отсутствие части фундаментальных знаний, чем твоя недоработка. буду рад новым видео!

    • @lets_try_js
      @lets_try_js  2 года назад

      Спасибо за такой расширенный фидбек)

    • @user-kd4yc5jl9w
      @user-kd4yc5jl9w 2 года назад +1

      @@lets_try_js а есть у вас репозиторий с этим уроком? есть вопросы, хотел бы сравнить код
      UPD. пересмотрел ещё раз и понял, что у нас с вами некоторые нюансы различаются касательно определения классов в css. но не страшно за 2 часа нашёл как вырулить) ещё раз спасибо, всё получилось

    • @lets_try_js
      @lets_try_js  2 года назад

      @@user-kd4yc5jl9w есть архив
      напиши мне в личку, в инсте (ссылка в шапке канала), скину )

    • @user-dz6jr3vu9x
      @user-dz6jr3vu9x Год назад

      Да действительно хитро вложенные классы получаются... Как это работает?

  • @WinchesterD
    @WinchesterD Год назад

    Спасибо за туториал, оказалось то что мне нужно. Жаль только не реализовывал таймер показывающий время песни в минутах и секундах а также изменение громкости при помощи ползунка.

  • @baidassuiunbaev7762
    @baidassuiunbaev7762 Год назад

    ЛУЧШИЙ!

  • @GEO-le5ft
    @GEO-le5ft 2 года назад +1

    Урок зашел. Продолжай в том же ключе ))

  • @m1akarov442
    @m1akarov442 2 года назад

    О вас еще мало знают, но как узнают ..... Вы уже не будете успевать нам отвечать =) Этого мы вам и желаем ! Контент лучше многих "блоггеров" программистов . Вы проффесионал !

  • @user-nv7su8re9y
    @user-nv7su8re9y Год назад

    Я тебя люблю, ты мне жизнь спас❤❤❤❤❤

  • @o-w1871
    @o-w1871 2 года назад

    лайк, подписка, комент! Двигаем контент

  • @user-hd1mo2uo1p
    @user-hd1mo2uo1p Год назад

    Спасибо

  • @skdev2062
    @skdev2062 8 месяцев назад

    Большое спасибо за урок! Желаю успехов! :)

  • @user-yf3yt6hp3e
    @user-yf3yt6hp3e 2 года назад

    Спасибо тебе за видео, я добавил кнопку полноэкранного режима, мут, перемотка на 10 сек вперед и назад, при нажатии на пробел останавливать и воспроихводить видео, а чтобы сделать кнопку с настройков качества видео, надо библиотеку специальную?

  • @olehPagulych
    @olehPagulych 2 года назад +1

    Дякую)

  • @user-kh4vh9dr1i
    @user-kh4vh9dr1i Год назад

    привет спасибо большое выручил

    • @user-kh4vh9dr1i
      @user-kh4vh9dr1i Год назад

      а как добавить регулятор громкости ?

  • @ikatsulaia7468
    @ikatsulaia7468 2 года назад

    спасибо за отличную работу!!! контент на высоте, все понятно и круто!

  • @vadimniziev5489
    @vadimniziev5489 3 года назад

    Привет! Подскажи пожалуйста, какой у тебя шрифт используется ? очень приятен для глаз, хочу себе тоже такой сделать)) Ролик топ)

    • @lets_try_js
      @lets_try_js  3 года назад

      шрифт в редакторе. ?
      если да, то он называется JetBrains Mono

  • @David-gm7qz
    @David-gm7qz 3 года назад +2

    здравствуйте, хороший урок , хотел спросить какая программа использовалась для создания макета?

    • @lets_try_js
      @lets_try_js  3 года назад

      здравствуйте)
      я работаю в Figma для отрисовки дизайна)

  • @deanwichester6412
    @deanwichester6412 6 месяцев назад

    Шикарный урок.,когда трек заканчивается сделал так ,но вроде тоже работает
    function updateProgress(e) {
    let currentTime = audio.currentTime
    const duration = audio.duration
    const start_progress = currentTime / (duration / 100)
    progress.style.width =`${start_progress}%`
    if (start_progress == 100) {
    nextSong()
    }
    }

  • @user-px6ui9wk1f
    @user-px6ui9wk1f Год назад

    Спасибо больше за контент! Искал видео на примере которого смогу поработать с аудио файлами. Решил улучшить немного плеер добавив визуализации звука прямо над прогресс-баром:
    const canvas = document.querySelector('#canvas1');
    const ctx = canvas.getContext('2d');
    let audioSource, analyser;
    function preporation() {
    const audioContext = new AudioContext();
    if (!audioSource) { // Проверка на присутствие источника аудио
    analyser = audioContext.createAnalyser();
    audioSource = audioContext.createMediaElementSource(audio);
    audioSource.connect(analyser);
    analyser.connect(audioContext.destination);
    }
    analyser.fftSize = 128; // Настройка количества "столбиков" в анимации
    const bufferLength = analyser.frequencyBinCount;
    const dataArray = new Uint8Array(bufferLength);
    const barWidth = canvas.width/bufferLength;
    let barHeight;
    let x;
    function animate() {
    x = 0;
    ctx.clearRect(0, 0, canvas.width, canvas.height);
    analyser.getByteFrequencyData(dataArray);
    drawVisualiser(bufferLength, x, barWidth, barHeight, dataArray);
    requestAnimationFrame(animate);
    }
    animate();
    }
    function drawVisualiser(bufferLength, x, barWidth, barHeight, dataArray) {
    for (let i = 0; i < bufferLength; i++) {
    barHeight = dataArray[i] / 2.5; // Настройка высоты анимации
    const red = i * barHeight/10;
    const green = i * 4;
    const blue = barHeight/6;
    ctx.fillStyle = 'rgb(' + red + ',' + green + ',' + blue + ')'; // Настройка цвета
    ctx.fillRect(x, canvas.height - barHeight, barWidth, barHeight);
    x += barWidth;
    }
    }
    За основу взято иностранное видео. Кому интересно вот ссылка: ruclips.net/video/VXWvfrmpapI/видео.html&ab_channel=Frankslaboratory
    Чтобы все заработало, необходимо добавить сам канвас в html разметку, как-то так:

    Удачи всем кто постигает JS в эти трудные времена и еще раз спасибо за потрясающие видео!

    • @lets_try_js
      @lets_try_js  Год назад

      Вау, круто 👍
      Если сам ютуб не удалит этот коммент(не любит ссылок в комментах) то я его оставлю, думаю людям будет весьма полезно)

  • @Sha-Kate
    @Sha-Kate 2 года назад +1

    Огромное спасибо!!! просто суперпонятно! Все глаза сегодня проглядела в поисках такого хорошего примера! Вот еще бы вопрос со звуковым прогрессом раскрыть в таком плеере и вообще супер-пупер!!!

    • @lets_try_js
      @lets_try_js  2 года назад +1

      можете написать мне в инсте(ссылочка есть в шапке канала)
      я дам ссылочку, где можно посмотреть код плеера, в котором есть регулятор громкости)
      там все просто, я вряд ли буду дополнять этим материалом)

    • @Sha-Kate
      @Sha-Kate 2 года назад +2

      @@lets_try_js Спасибо огромное, я по этому примеру сделала сама тегом progress! Спасибо!

    • @lets_try_js
      @lets_try_js  2 года назад +1

      @@Sha-Kate круто!
      успехов в обучении)

  • @thestrelchik
    @thestrelchik 2 года назад

    ты босс :*

  • @156Winter
    @156Winter Год назад

    Спасибо за урок, сначало у меня не получалось, убил 2 дня чтоб понять и только на второй понял что я ставил ' а должно было быть `.

  • @jfoxbe
    @jfoxbe Год назад

    Отличный урок. Ещё не плохо было б сделать возможность проматывать песню не кликами а зажатием ползунка.

  • @olgapedashenko3930
    @olgapedashenko3930 8 месяцев назад +1

    Золотой человек! Спасибо огромное! Видео очень помогло, и объясняешь все отлично🤗

  • @user-nm5my5tk1r
    @user-nm5my5tk1r Год назад

    Что за программу для написания кода используешь?

  • @Kain4ra
    @Kain4ra Год назад

    Отличное видео. Подскажите, пожалуйста, делаю всё как на видео, но прогресс двигается то ровно, то зависает и потом перескакивает. С чем это может быть связано?

  • @sandstorm7786
    @sandstorm7786 2 года назад

    Есть видео твоих настроек и плагинов VS Code ? мне понравилась анимация мерцающей линии и шрифт

    • @lets_try_js
      @lets_try_js  2 года назад

      есть видео на эту тему на канале

  • @user-dz6jr3vu9x
    @user-dz6jr3vu9x Год назад +1

    Не улавливаю откуда взялось имя song, если массив присвоен переменной songs?

    • @user-dz6jr3vu9x
      @user-dz6jr3vu9x Год назад

      Далее в loadSong(song) Откуда он берëтся?

  • @siverianserpent5559
    @siverianserpent5559 2 года назад +1

    Молодец, очень полезное видео, пожелания:
    1. Жаль что не вывел рядом время - какая секунда играет от общей длительности трека.
    2. Когда делаешь математические операции деления общей длительности и т.д. - пожалуйста, объясняй логику своей мысли ,чтобы людям ещё доступнее было.
    Все остальное 5+

    • @lets_try_js
      @lets_try_js  2 года назад

      спасибо за фидбек )
      Это одно из первых видео, еще не совсем понимал как правильно ))

    • @siverianserpent5559
      @siverianserpent5559 2 года назад +1

      @@lets_try_js для начала - очень качественно

    • @lets_try_js
      @lets_try_js  2 года назад

      @@siverianserpent5559 благодарю)

  • @TheDaemonL
    @TheDaemonL 2 года назад +1

    добрый день. как реализовать несколько таких плейеров на странице? полагаю из-за querySelector работает только первый из них

    • @lets_try_js
      @lets_try_js  2 года назад

      как вариант, принимать аргумент класса в эту функцию и в тот querySelector передавать этот же аргумент, и когда вызываете эту функцию, то в нее как аргумент передаете класс того блока, куда встроить плеер)
      я уже точно не помню код, но есть вероятность что там придется такую манипуляцию проделать не только для плеера, но и для остальных элементов
      наверное ничего не понятно с моей подсказки)))

    • @TheDaemonL
      @TheDaemonL 2 года назад

      вопрос снят, все сделал

    • @TheDaemonL
      @TheDaemonL 2 года назад

      @@lets_try_js сделал в jquery по событию клика в одну свою функцию передал все Ваши и раскидался там все переменные по this. по итогу плеер по которому кликнул ссылается только на элементы внутри него

    • @lets_try_js
      @lets_try_js  2 года назад

      @@TheDaemonL ну я предложил лишь один из вариантов)
      знаете, что одну и ту же задачу можно решить кучей способов)

  • @awenn2015
    @awenn2015 2 года назад

    Обновление будет , ползунок громкости ?)

  • @user-dd2zp9hv3r
    @user-dd2zp9hv3r 2 года назад

    Все классно, спасибо. Только 2 часа убил на точно не указал ‘e' при перемотке. Ты его поставил в функции как аргумент но сказал об этом, как бы строчку ниже написал, а потом между делом указал аргумент. А так все здорово спасибо.

  • @user-wb9lt4mq6p
    @user-wb9lt4mq6p 2 года назад

    Спасибо за видео! А как сделать так, чтобы плеер запоминал на каком этапе воспроизведение закончилось и предлагал бы продолжить, уже после перезагрузки страницы? Как в ютубе)

    • @lets_try_js
      @lets_try_js  2 года назад +1

      нужно куда-то сохранять данные)
      это должна быть либо база данных, либо хотя-бы localstorage

    • @user-wb9lt4mq6p
      @user-wb9lt4mq6p 2 года назад

      @@lets_try_js Спасибо!😊

  • @user-oc5zg6mq7l
    @user-oc5zg6mq7l Год назад

    Где такие иконки можно скачать ?

  • @user-mt9lq4hl1c
    @user-mt9lq4hl1c Год назад

    Замечательный урок, но ссылки но код не работают. Можно их обновить?

  • @chatabbk
    @chatabbk 3 года назад +2

    Очень все классно. но есть вопрос как реализовать что бы список песен выводить из MSQL + php Плиз не могу ни как найти. Помоги

    • @lets_try_js
      @lets_try_js  3 года назад +1

      спасибо что посмотрел ролик, но с этим вопросом, увы, я тебе вряд ли помогу.
      так как у меня крайне негативное отношение к php и я попросту не знаю, как это сделать

    • @chatabbk
      @chatabbk 3 года назад

      @@lets_try_js Я его тоже начинаю ненавидеть...

    • @lets_try_js
      @lets_try_js  3 года назад

      ​@@chatabbk я не призываю не учить php если что))
      это дело вкуса))

  • @anarchist1918
    @anarchist1918 2 года назад

    Можно пожалуйста ссылку на ассеты?

    • @lets_try_js
      @lets_try_js  2 года назад

      Напишите мне в инсте, я на днях буду у пк и попробую найти

  • @m1akarov442
    @m1akarov442 2 года назад +1

    А макет ? =) Можете скинуть ?

    • @lets_try_js
      @lets_try_js  2 года назад +1

      в инсту напишите мне, в шапке сайта есть, я дам ссылку

  • @VINIPON
    @VINIPON 2 месяца назад

    Помогити спатити, у меня не работает прогрес бар, вроде всё хорошо но "correntTime" не хочет находится, пишет "undefined" а код я кажется правильно писал
    -
    function updateProgress(e) {
    const {duration, correntTime} = e.srcElement
    console.log(duration)
    console.log(correntTime)
    }
    всё как бы отлично но всё равно не работает, музыка всё работает, только это не хочет работать

  • @user-rt1zx9ik7y
    @user-rt1zx9ik7y 2 года назад +1

    audio.play в консоли выдает ошибку вот такого типа: uncaught in promise domexception the element has no supported sources

    • @tricky_pie
      @tricky_pie Год назад

      Аналогичная ошибка. Так и не смогла найти решение.

    • @tricky_pie
      @tricky_pie Год назад

      Решилась проблема, была ошибка в пути. Нужно было указать одну точку для выхода на папку выше, я поставила 2 как vs code подсказывал)) Вывод: вс код обманщик, а самой стоит быть внимательнее :)

  • @efferusmode
    @efferusmode 2 года назад

    как сделать полоску громкости ?

    • @user-yf3yt6hp3e
      @user-yf3yt6hp3e 2 года назад +1

      Так же через input range, поищи просто как менять звук и привяжи к инпуту

    • @efferusmode
      @efferusmode 2 года назад

      @@user-yf3yt6hp3e всё получилось, спасибо

  • @awenn2015
    @awenn2015 2 года назад

    Странная штука, когда уже немного делаешь только на react привыкаешь и уже как то не привычно смотреть на чистый js

  • @4Aziwzjdfgnk29y
    @4Aziwzjdfgnk29y 2 года назад

    исходник заблочен ..печаль беда

  • @user-fb7qo8td4f
    @user-fb7qo8td4f Год назад +1

    Вообще я предлагаю функцию второго клика которую придумал(может кто-то ещё придумал не знаю...)
    Вот функция:
    let i = 1
    this.onclick = () => {
    i+=1
    if(i%2==0){
    Функция первого клика...
    }else{
    Функция второго клика
    }
    Функция очень надёжная лично мне помогла, вы также можете химичить и сделать так чтобы после первого клика ничего не происходило...
    }