Nano Hash - криптовалюты, майнинг, программирование

Можно ли получить битрейт мп3?

Мое расширение Chrome показывает список ссылок на файлы .mp3, и мне нужно получить битрейт для каждого элемента. Как я могу это рассчитать?

ОБНОВЛЕНИЕ

Решил это.


  • но ответа нет. 07.02.2014
  • Там нет ответа на копирование / пасту, но есть хорошее исследование, которое должно помочь вам начать. Обратите внимание, что при спрашивании здесь важно показать свои исследовательские усилия (избегайте отрицательных и закрытых голосов, см. Как спросить). Бьюсь об заклад, вы в конечном итоге найдете решение и опубликуете код в этом дубликате;) Удачи. 07.02.2014

Ответы:


1

Решил это с помощью этого простого запроса AJAX:

var audioLink = document.querySelector('.my_audio_link_class');
var durationBlock = document.querySelector('.element_with_duration_in_text_class').innerText.split(':'); //it has string '1:36' for example and i create new array with minutes and seconds
var duration = durationBlock[0]*60 + +durationBlock[1]; //convert minutes into seconds and convert string with second into integer, then summarize them

function (audioLink, duration) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.overrideMimeType('text/xml');

xmlhttp.onreadystatechange = function () {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        var size = xmlhttp.getResponseHeader('Content-Length');//get file size
        var kbit=size/128;//calculate bytes to kbit
    var kbps= Math.ceil(Math.round(kbit/duration)/16)*16;
    console.log(kbps);
    }
};
xmlhttp.open("HEAD", audioLink, true);
xmlhttp.send();
}

Надеюсь, это поможет кому-то и извините за мой плохой английский.

09.02.2014
  • Прошло четыре года, и это было чертовски удобно - спасибо @glebcha. +1 11.01.2018
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..