Нелинейный объем для HTMLMediaElement - PullRequest
6 голосов
/ 20 марта 2011

Я написал свой собственный интерфейс медиаплеера, используя javascript и html5.В настоящее время мой ползунок громкости соответствует атрибуту громкости браузера 1: 1.Я бы очень хотел настроить это для учета воспринимаемой громкости .

Раздел атрибута громкости спецификации html5 скажет:

... 0.0 - молчание, а 1.0 - громкость, значения между ними увеличиваются по громкости.Диапазон не обязательно должен быть линейным.

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

Кто-нибудь знает, какие шкалы громкости используют браузеры в настоящее время и могут ли они измениться вбудущее?

1 Ответ

1 голос
/ 20 марта 2011

Если вы не можете напрямую получить информацию о каждом браузере, я бы предложил разработать набор эмпирических тестов.Я не могу представить, чтобы производители браузеров использовали что-либо, кроме логарифмического или линейного регулятора громкости, поэтому в ваших тестах нужно учитывать только два результата.Как только ваш тестовый поток создан, вы можете использовать его всякий раз, когда выпускается новая версия браузера.

Что касается самих тестов, они могут быть по вашему собственному восприятию (проверить громкость на уровне 100% против 50%,и определить, действительно ли 50% звучит вдвое громче или только 75% - громко);или они могут быть записаны на звуковую карту канала «что вы слышите» и проанализируете форму волны в пользовательском приложении или инструменте, на этот раз в поисках снижения амплитуды (пика) на 0,5, если оно является простым линейным, или больше, чем.5 капля, если логарифмическая.Если вы создаете свой собственный инструмент анализа, с данными формы волны PCM не так уж сложно работать, если вы знакомы с C / C ++ / C # / et.al.

...