Flex(AIR)android Shoutcast app问题

我正在尝试基于Codebass播放器构建一个Android AIR应用程序(http://codebass.net/2010/09/01/codebass-streaming-radio-player/) 它不适用于Android,并且在桌面上(以及在flashbuilder模拟器中)运行时,actionscript工作正常,但在设备上它不播放声音。它似乎初始化声音,因为你可以调整媒体音量,但流拒绝播放。 我不确定这是加载流还是它有问题的播放。 流加载功能:
public function load(source:String, restarting:Boolean = false):void {
        this.source = source;

        if (sound) {
            sound.close();
            sound = null;
        }
        songLoaded = false;
        dispatchEvent(new Event("updateDuration"));
        stop();

        if(sound) {
            sound.removeEventListener(Event.OPEN, onSoundLoaded);
            sound.removeEventListener(Event.OPEN, onRestartSoundLoaded);
            sound.removeEventListener(IOErrorEvent.IO_ERROR, onSoundLoadedError);
        }
        sound = new Sound();

        if (!restarting) {
            sound.addEventListener(Event.OPEN, onSoundLoaded, false, 0, true);
            streamRestartCount = 0;
        } else {
            sound.addEventListener(Event.OPEN, onRestartSoundLoaded, false, 0, true);
        }

        sound.addEventListener(IOErrorEvent.IO_ERROR, onSoundLoadedError, false, 0, true);

        var ur:URLRequest = new URLRequest(source);
        sound.load(ur);
    }
流播放功能:
public function play():void {
        if (stopped) {
            SoundMixer.stopAll()
            soundChannel = sound.play(0);
        } else {
            SoundMixer.stopAll()
            soundChannel = sound.play(lastPosition);    
        }
        stopped = false;
        // if we've previously set a volume, use the transform again
        if (volumeTransform) {
            trace("set vol: " + volumeTransform.volume);
            soundChannel.soundTransform = volumeTransform;
        }
        heartBeat.start();
    }
我有什么简单的东西吗?或者,从头开始为Android skd编写代码是没有希望的?     
已邀请:
我遇到了同样的麻烦,我发现Adobe员工已经检查并确定它是AIR中的一个错误。 它不是由清单引起的,因为eclipse(模拟器)也模拟了清单部分。 http://forums.adobe.com/thread/841997     
该代码应该工作。很可能,您在Android清单中缺少必需的权限。安装应用程序时,它应该询问您是否要安装并为您提供应用程序所做事情的列表。它应该说'连接到互联网'。如果那不存在,你就不会走得太远。 要使其工作,请打开清单文件并将其包含在其中:
<android>
    <manifestAdditions>
        <manifest>
            <data>
                <![CDATA[
                    <uses-permission android:name="android.permission.INTERNET" />
                ]]>
            </data>
        </manifest>
    </manifestAdditions>
</android>
这将使您访问互联网。如果您仍然遇到问题,您应该尝试调试我的博客文章中提到的应用程序。     
自从第一次发布air2 for android以来,这个manifestAddition标签已经改变了一点。 所以你应该以一种形式写它
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/2.5">
    <id>...</id>
    <filename>...</filename>
    <name>...</name>
    <versionNumber>v...</versionNumber>
    <initialWindow>
        <content></content>
        <visible>true</visible>
        <fullScreen>...</fullScreen>
        <autoOrients>true</autoOrients>
        <width>480</width>
        <height>800</height>
    </initialWindow>
    <!--choose the appropriates separated by space-->
    <supportedProfiles>mobileDevice desktop</supportedProfiles>
    <android>
        <manifestAdditions>
            <![CDATA[
                <manifest android:installLocation='auto'>
                    <uses-permission android:name="android.permission.INTERNET" />
                    <!--for playing sounds you don't need special permissions-->
                    <supports-screens android:normalScreens="true"/>
                    <uses-feature android:required="true" android:name="android.hardware.touchscreen.multitouch"/>
                    <application android:enabled="true">
                        <activity>...</activity>
                    </application>
                </manifest>
           ]]>
        </manifestAdditions>
    </android>

    <icon>
        <image48x48>icon48x48.png</image48x48>
        <image72x72>icon72x72.png</image72x72>
    </icon>
</application>
您可以在corlan的博客中阅读更多相关信息:关于AIR应用程序和Android权限 了解有关官方网站当前2.6版空中发布的更多信息:Adobe AIR     

要回复问题请先登录注册