Codebass プレーヤー (http://codebass.net/2010/09/01/codebass-streaming-radio-player/) に基づいて Android AIR アプリを構築しようとしています。
これは Android 向けではなく、アクション スクリプトはデスクトップ (および 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 のコードをゼロから空気のために書かないのは絶望的ですか?