0

Adobe 的“SWF 文件格式规范 v10”表示 Speex 编码数据可用于流式声音(此处对“流式声音”定义稍作澄清:“SWF 文件格式支持流式声音模式,其中声音数据以与时间线紧密同步。在这种模式下,声音数据包与每一帧一起存储。” - 这与任何 FMS 流媒体无关,不需要 ActionScript - 只是普通的 SWF)。

这应该通过使用单个 SoundStreamHead2 标记来完成,其中 StreamSoundCompression 设置为 11(这意味着“Speex”,如上述规范中所述),然后使用 N 对 ShowFrame 和 SoundStreamBlock 标记。但是,这不起作用 - Flash Player 在播放我以这种方式生成的 SWF 时没有声音。请注意,我能够生成包含流式 MP3 或 PCM 数据的此类 SWF,然后它们可以完美播放。只是不是斯佩克斯...

我严格遵守规范:http://www.adobe.com/content/dam/Adobe/en/devnet/swf/pdf/swf_file_format_spec_v10.pdf,第 220 页。

我尝试了流式声音方法以及事件声音 - 两者都不起作用。

此外,我无法(在 Internet 上的任何地方)找到任何带有 Speex 编码的流式声音(也不是事件声音)的示例 SWF。它们甚至存在吗?无论如何,Flash CS5.5 无法生成它们...

我只是想知道 Speex 对 SWF 流声音的支持是否可以在规范之外的任何地方找到。(我知道 FLV 可以包含 Speex,并且 Flash Player 可以从麦克风流式传输 Speex,并且 FMS 可以将 Speex 流式传输到其客户端,但这不是我要求的)

亲切的问候,

JK

4

1 回答 1

0

我发现 FLV 文件格式文档更有用。在此处(第 70 页)查看标签格式,然后将 Speex 编码输出。

请记住,使用 Speex 编码时,闪存仅支持 16KHz/单声道/16 位

于 2012-03-01T20:58:21.503 回答