我的 flex 3.5 应用程序有一个音频播放器,通过调用 AMF 服务获取 mp3 数据来访问其内容。据我所知,flash.media.Sound
是用 URLRequest
初始化的,所以我不清楚如何使用我的 向它提供数据远程对象
。
我想做以下事情之一:
- 通过
RemoteObject
服务调用向Sound
对象的load
方法提供数据。 - 创建一个
URLRequest
对象,它将执行必要的 AMF 包装,以便我的服务实现看起来与任何其他服务调用完全一样(如果可能的话)。 - 允许我调用 PHP4 AMF 服务并在 Flash 音频播放器中播放它返回的音频的任何替代方法。
最佳答案
如果您绝对必须使用 AMF 来提供声音,您有 2 个选择。第一种是将 MP3 包装在 swf 中,将其作为 ByteArray 发送回来,然后使用 Loader 上的 loadBytes 方法将其加载回来。第二种选择是将其转换为 wav,将其作为 ByteArray 发送,然后解析音频文件并使用 sampleData 事件将数据提供给声音(仅限 Flash Player 10)。我可能会推荐第一个选项,因为它比第二个更容易和更快,但两者都不是特别容易。
如果我必须通过 AMF 进行身份验证才能加载声音,我会返回某种类型的 session cookie 并设置一个简单的 PHP 服务,该服务将使用适当的 session cookie 提供 MP3。
关于php - 如何使用 Flex 调用 AMF 服务并取回 MP3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3190407/