Звонит немного поздно, но на самом деле есть способ играть FLV в замедленном режиме без постоянного поиска или повторного воспроизведения / паузы.Это просто чрезвычайно сложно.
Если вы откроете файл .flv с помощью URLStream, тогда вы сможете получить доступ к битам.Сканируйте метку времени, переписывайте ее, затем передайте новый ByteArray в NetStream в режиме генерации данных.Используя это, вы можете воспроизводить видео с любой частотой кадров - хотя способность воспроизводить звук в замедленном / ускоренном режиме зависит от используемого кодека.Структура пакета FLV выглядит примерно так:
- "FLV"
- длина пакета
- тип пакета (аудио / видео / метаданные)
- timestamp
- дополнительные заголовки
- data
Чтобы изменить частоту аудиосэмплирования, вам понадобится смешать данные - гораздо более замысловато, чем просто изменение временных отметок.Я знаю, например, что данные AAC имеют заголовок, который задает частоту дискретизации в качестве индекса в массиве:
[ 96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000, 7350 ]
Так что, если у вас был звук на 44,1 кГц (индекс частоты дискретизации= 4) вы можете играть на половинной скорости, указав частоту дискретизации 22,05 кГц (индекс частоты дискретизации = 7)