С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/64: Рейтинг темы: голосов - 64, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 28.03.2016
Сообщений: 3

Как узнать длину mp3-аудио - JavaScript и HTML

09.12.2017, 18:25. Показов 13833. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! У меня проблема такая - как узнать Длительность и Битрейт аудио-файла?
Например: когда я выбираю mp3 файл (через input.file), после выбора сразу выводися данные на input.text!

фото:
Миниатюры
Как узнать длину mp3-аудио - JavaScript и HTML  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.12.2017, 18:25
Ответы с готовыми решениями:

Не получается узнать длину аудио
Здравствуйте. <!DOCTYPE html> <html> <head> <title>Player</title> <script type="text/javascript"...

Узнать длину MP3 файла
Есть функция генерирования плей-листа В массиве лежат все пути к аудио var audio = new Audio(); audio.onloadedmetadata =...

Узнать длину аудио файла в миллисекундах
нужно узнать длину аудио файла в миллисекундах как это можно сделать? хотя и в сотых долях секунды подойдет

12
707 / 309 / 191
Регистрация: 05.03.2015
Сообщений: 822
09.12.2017, 21:56
Лучший ответ Сообщение было отмечено Bekosha как решение

Решение

http://jsfiddle.net/derickbailey/s4P2v/ вот вполне рабочий вариант. Из зависимостей только jquery и moment.js - от которых при желании можно отказаться
1
Юзер с абсолютным слухом
 Аватар для Опан
709 / 489 / 195
Регистрация: 17.12.2010
Сообщений: 1,428
09.12.2017, 22:04
JavaScript
1
2
var audio = new Audio("1.mp3");
setTimeout(function(){alert("Длительность песни: " + audio.duration + " секунд")}, 500);
Без jquery.
2
707 / 309 / 191
Регистрация: 05.03.2015
Сообщений: 822
09.12.2017, 22:20
Опан, если уж захотели дать вариант без jquery, то логично было бы переписать весь код, а не его кусок?
1
0 / 0 / 0
Регистрация: 28.03.2016
Сообщений: 3
09.12.2017, 22:33  [ТС]
Цитата Сообщение от msheal Посмотреть сообщение
Опан, если уж захотели дать вариант без jquery, то логично было бы переписать весь код, а не его кусок?
0
Юзер с абсолютным слухом
 Аватар для Опан
709 / 489 / 195
Регистрация: 17.12.2010
Сообщений: 1,428
09.12.2017, 22:35
Это и есть весь код. Для сканирования битрейта нужна PHP-библиотека или программный аудиоредактор.
0
0 / 0 / 0
Регистрация: 28.03.2016
Сообщений: 3
09.12.2017, 22:37  [ТС]
почему не работает именно длительность
0
707 / 309 / 191
Регистрация: 05.03.2015
Сообщений: 822
09.12.2017, 22:45
Лучший ответ Сообщение было отмечено Bekosha как решение

Решение

Только что проверял фидл, загружая 2-3 мп3 файла, все работает.

вы точно moment.js подключили?
1
Юзер с абсолютным слухом
 Аватар для Опан
709 / 489 / 195
Регистрация: 17.12.2010
Сообщений: 1,428
09.12.2017, 23:55
А так, чтобы без и jquery и с помощью диалога выбора файлов - наверно тоже аудиоредактор Вам в помощь. Или же, если msheal утверждает, что от jquery можно отказаться, оставив при этом <input type="file"> - он же и должен прикрепить пример, как это осуществить.
0
707 / 309 / 191
Регистрация: 05.03.2015
Сообщений: 822
10.12.2017, 00:15
Опан, ничерта не понял о чем вы пишете.
Читайте внимательней. В своем первом посту я лишь указал на зависимости и заметил что при желании можно код в фидле написать без jquery/moment. Делать этого я не хочу, поэтому рабочий пример привел с использованием вышеописанных библиотек. В чем вы пытаетесь меня упрекнуть?
0
Юзер с абсолютным слухом
 Аватар для Опан
709 / 489 / 195
Регистрация: 17.12.2010
Сообщений: 1,428
10.12.2017, 01:43
Лучший ответ Сообщение было отмечено Bekosha как решение

Решение

Наверно в том, что Вам не понравилось, что я привёл пример без <input type=file>, если я ничего не напутал. (Честно говоря, по началу невнимательно прочитал вопрос.) Я тут посидел, и нашёл кое какое решение, но оно мне не очень нравится:
HTML5
1
2
<audio id=audio></audio>
<input type=file onchange="fn(this.value)">
JavaScript
1
2
3
4
5
6
<script>
function fn(e){
    audio.src=e.split("\\")[e.split("\\").length - 1];
    setTimeout(function(){alert("Длительность песни: " + audio.duration + " секунд")}, 500);
}
</script>
Добавлено через 26 минут
Не воспринимает русские буквы в именах файлов.
1
3 / 3 / 0
Регистрация: 14.01.2021
Сообщений: 42
18.03.2021, 11:06
Опан, А для чего необходим setTimeout в этом случае, почему без него не выдает duration?
0
Юзер с абсолютным слухом
 Аватар для Опан
709 / 489 / 195
Регистрация: 17.12.2010
Сообщений: 1,428
18.03.2021, 12:18
Выдаст NaN. Но я писал это давно, более правильно будет:
JavaScript
1
audio.onloadeddata = function(){alert(this.duration)};
Иначе просто не успевает загрузить метаданные из файла.
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.03.2021, 12:18
Помогаю со студенческими работами здесь

Можно ли узнать длину mp3 или wav файла в миллисекундах?
Можно ли узнать длину mp3 или wav файла в миллисекундах или секундах? И можно ли по нажатию на кнопку проматывать проигрывание аудио как в...

как в матлабе преобразовать обычный аудио-файл(mp3,wav...) в математический сигнал?
Помогите умные люди ламеру!

Как узнать длительность mp3 файла?
Здравствуйте, как можно узнать точную длительность Mp3 файла? в taglib библиотеке этого нет :( Добавлено через 1 час 24 минуты Ответ...

Аудио конвертер APE->MP3
Здравствуйте. Задали курсовую, написать конвертер APE-&gt;MP3, но я не знаю как организовать данный процесс. Пожалуйста подскажите принцип...

Аудио плеер mp3 без ogg
Ребят, привет.Подскажите,как можно избежать дубликата файла при использовании плеера html5 ?А то есть к примеру test.mp3 а надо ещё и...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru