Map<String, Set<String>> collect = Arrays.asList(Locale.getAvailableLocales()).stream().collect(Collectors
.toMap(l -> l.getDisplayCountry(), l -> Collections.singleton(l.getDisplayLanguage())));
Количество задержки, добавленное LAME в FFmpeg, равно
avctx->initial_padding = lame_get_encoder_delay(s->gfp) + 528 + 1;
Из FAQ проекта LAME:
2. Почему LAME добавляет тишину к началу каждой песни?
ЗАДЕРЖКА ДЕКОДЕРА НА НАЧАЛО ФАЙЛА:
Все декодеры Я протестировал введение задержки 528 образцов. То есть, после декодирования mp3-файла, на выходе будет записано 528 отсчетов с 0. Это связано с тем, что стандартные подпрограммы MDCT / filterbank, используемые ИСО, имеют задержку выборки 528. Можно было бы написать процедуру MDCT / filterbank с задержкой выборки 0 (см. Описание подпрограммы MDCT / filterbank Takehiro, используемой в кодировке LAME ниже), но я не знаю, что кто-то это сделал. Кроме того, из-за перекрытого характера кадров MDCT первая половина первой гранулы (1 гранула = 576 выборок) не имеет предыдущего кадра для перекрытия, что приводит к затуханию первых N выборок. Значение N зависит от типа окна. Для «STOP_TYPE» и «SHORT_TYPE», N = 96, а для «START_TYPE» и «NORMAL_TYPE» - N = 288. Первый кадр, созданный LAME 3.56 и выше, всегда будет иметь STOP_TYPE или SHORT_TYPE.
ЗАДЕРЖКА ENCODER НА НАЧАЛЕ ФАЙЛА:
Кодировщики на основе ISO (BladeEnc, 8hz-mp3 и т. Д.) используйте процедуру MDCT / filterbank, аналогичную той, которая используется в декодировании, и, следовательно, также вводит собственную задержку выборки 528. WAV-файл закодирован & amp; (1056 выборок будут добавлены к началу).
blockquote>Расхождение в соответствии с часто задаваемыми вопросами не такое же, как в вашем выпуске, возможно, из-за технических нюансов о котором я не знаю, но это не ошибка.