Как я могу позвонить в службу AMF с помощью Flex и вернуть MP3? - PullRequest
4 голосов
/ 07 июля 2010

В моем приложении flex 3.5 есть аудиоплеер, доступ к содержимому которого можно получить, вызвав службу AMF для получения данных в формате mp3.Насколько я могу судить, flash.media.Sound инициализируется с URLRequest, поэтому мне не ясно, как я могу предоставить ему данные, используя мой RemoteObject.

Я хочу сделать один изследующие вещи:

  1. Предоставить данные для load метода Sound объекта из сервисного вызова RemoteObject.
  2. Создать URLRequest объект, который будет выполнять необходимую AMFперенос, чтобы моя реализация службы выглядела точно так же, как и любой другой вызов службы, если это вообще возможно.
  3. Любая альтернатива, которая позволяет мне вызывать службу AMF PHP4 и воспроизводить звук, который она возвращает, в проигрывателе Flash.

Ответы [ 3 ]

3 голосов
/ 27 июля 2010

Если вам абсолютно необходимо использовать AMF для подачи звука, у вас есть 2 варианта. Во-первых, обернуть MP3 в файл SWF, отправить его обратно в виде ByteArray и использовать метод loadBytes в Loader для его загрузки обратно. Второй вариант - преобразовать его в wav, отправить как ByteArray, а затем проанализировать аудиофайл и передать данные в звук, используя событие sampleData (только Flash Player 10). Вероятно, я бы порекомендовал первый вариант, так как он намного проще и быстрее, чем второй, но оба варианта не особенно просты.

Если бы мне пришлось проходить аутентификацию через AMF для загрузки звука, я бы возвращал сессионный cookie-файл какого-либо типа и настраивал простой PHP-сервис, который бы обслуживал MP3-файлы с соответствующим сессионным cookie-файлом.

1 голос
/ 06 августа 2010

Вам нужно загрузить звук из ByteArray, что делается здесь:

http://www.flexiblefactory.co.uk/flexible/?p=46

0 голосов
/ 07 июля 2010

Почему бы не использовать объект Sound с параметром URL?

Нет необходимости писать код для ручного получения вашего URL.Если вы предпочитаете выполнить некоторую внутреннюю обработку перед возвратом файла, вы можете просто установить возвращаемый mimetype и «сбросить» байты данных файла mp3 в поток вывода.

С ColdFusion это легко использоватьтег cfcontentЯ предполагаю, что PHP предлагает некоторую параллель, однако я не знаю, что это такое.

...