0

我正面临这个问题。我正在使用 flex && actionscript 在手机上播放 mp3 流。

代码运行良好,并且当应用程序在 flash builder 模拟器中运行时会播放声音。

但是,当我在移动设备上部署我的应用程序(尝试了几部 Android 手机)时,一切都很好,除了流不播放!

你能帮我么??

这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" title="HomeView"
    creationComplete="view1_creationCompleteHandler(event)"
    >
<fx:Script>
    <![CDATA[
        import mx.events.FlexEvent;

        import flash.net.*;
        import flash.media.*;

        private var req:URLRequest;
        private var context:SoundLoaderContext = new SoundLoaderContext(8000, true);
        private var s:Sound;
        private var channel:SoundChannel = new SoundChannel();

        private  function AudioOn():void
        {
            req = new URLRequest("http://stream2.srr.ro:8000/;stream.mp3");
            s = new Sound(req,context);
            channel=s.play();
        }

        protected function view1_creationCompleteHandler(event:FlexEvent):void
        {
            AudioOn();

        }

    ]]>
</fx:Script>
<fx:Declarations>
    <!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>

编辑:

我为声音对象添加了以下事件处理程序

                            s.addEventListener(Event.ID3, id3);
            s.addEventListener(Event.OPEN, openHandler);
            s.addEventListener(ProgressEvent.PROGRESS, progressHandler);

在每个处理程序中放置一个断点。:

结果:EMULATOR:openHandler到达后s.play()progressHandler连续到达。

Android 设备:处理程序中的断点永远不会到达。也不例外。

4

0 回答 0