Я пытаюсь создать приложение AIR для Android на базе проигрывателя Codebass (http://codebass.net/2010/09/01/codebass-streaming-radio-player/)
Он не предназначен для 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?