我正在尝试基于 Codebass 播放器 (http://codebass.net/2010/09/01/codebass-streaming-radio-player/) 构建一个 android AIR 应用
它不适用于 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 中的错误。 它不是由 list 引起的,因为 Eclipse(模拟器)也是模拟 list 部分。
关于android - Flex (AIR) android Shoutcast 应用程序问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5439247/