【发布时间】:2011-07-23 07:02:48
【问题描述】:
我正在尝试基于 Codebass 播放器 (http://codebass.net/2010/09/01/codebass-streaming-radio-player/) 构建一个 android AIR 应用程序
它不适用于 android,并且 actionscript 在桌面(和 flashbuilder 模拟器)上运行时运行良好,但在设备上它不播放声音。它似乎初始化了声音,因为您可以调整媒体音量,但是流拒绝播放。
我不确定是流的加载还是播放存在问题。
流加载功能:
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从头开始编写代码是没有希望的?
【问题讨论】:
标签: android apache-flex air flash-builder shoutcast