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