Кодирование Speex в звуковой поток SWF версии 10

В «Спецификации формата файла SWF v10» компании Adobe говорится, что данные в кодировке Speex могут использоваться для потоковой передачи звука (небольшое уточнение определения «потокового звука» здесь: «Формат файла SWF поддерживает режим потокового звука, при котором звуковые данные воспроизводятся и загружаются в жесткая синхронизация с временной шкалой. В этом режиме звуковые пакеты сохраняются с каждым кадром. "- это не имеет ничего общего с потоковой передачей FMS, не требуется ActionScript - просто SWF).

Это должно быть выполнено с помощью одного тега SoundStreamHead2 с StreamSoundCompression, установленным на 11 (что означает «Speex», как указано в вышеупомянутой спецификации), а затем N пар тегов ShowFrame и SoundStreamBlock. Однако это не работает - Flash Player не воспроизводит звук при воспроизведении SWF, созданного таким образом. Обратите внимание, что я могу создавать такие SWF-файлы, содержащие потоковые данные MP3 или PCM, которые затем отлично воспроизводятся. Только не Спекс ...

Строго соблюдаю ТУ: http://www.adobe.com/content/dam/Adobe/en/devnet/swf/pdf/swf_file_format_spec_v10.pdf, стр. 220.

Я пробовал использовать потоковый звук, а также звук события - оба не работают.

Более того, мне не удалось найти (нигде в Интернете) какой-либо образец SWF с потоковым звуком (или звуком событий), закодированный в Speex. Они вообще существуют? Во всяком случае, Flash CS5.5 не может их генерировать ...

Я просто хотел бы знать, можно ли найти поддержку Speex для потокового звука SWF где-нибудь еще, кроме как в Спецификации. (Я знаю, что FLV может содержать Speex и что Flash Player может транслировать Speex с микрофона, и что FMS может передавать Speex своим клиентам, но это не то, о чем я прошу)

С уважением,

JK


person Dkg    schedule 01.03.2012    source источник


Ответы (1)


Я нашел документацию по формату файлов FLV более полезной. Посмотрите здесь (стр. 70) формат тега, после чего просто поместите вывод, закодированный Speex.

Просто помните, что вспышка поддерживает только 16 кГц / моно / 16 бит при кодировании с использованием Speex.

person AZoo    schedule 01.03.2012
comment
Вы думаете, что только FLV-файлы могут содержать данные Speex? Можете ли вы подтвердить, что спецификация SWF неверна в отношении хранения Speex (как и MP3) внутри файла SWF? (Я уже знал про FLV) - person Dkg; 02.03.2012
comment
Перечитав ваш вопрос, я понял, что отвечаю не на тот вопрос и мне нужно еще кофе. Я не пробовал встраивать данные Speex в SWF. - person AZoo; 02.03.2012