Я создаю mp3/пару радио с MVC, где я пытаюсь загрузить URL-адрес из массива.actionscript 3 загрузить URL-адрес из массива
У меня есть класс радио:
public class Radio
{
private var titel:String;
private var url:URLRequest;
private var cover:Bitmap;
public function Radio(titel:String, url:URLRequest, cover:Bitmap)
{
this.titel = titel;
this.url = url;
this.cover = cover;
}
public function getTitel():String {
return titel;
}
public function getURL():URLRequest {
return url;
}
public function getCover():Bitmap {
return cover
}
}
В контроллере у меня есть это:
public function selectRadio(radio:Radio):void{
model.selectRadio(radio);
}
В связи у меня есть кнопка с eventlistner:
radio.addEventListener(MouseEvent.CLICK, function():void {
controller.selectRadio(model.getRadio(0));
});
И, наконец, в модели i:
private var radio:Radio = new Radio("P3", new URLRequest("http://live-icy.gss.dr.dk:80/A/A05L.mp3"), drp3);
private var radioArray:Array = new Array(radio);
private var r:Number;
public function selectRadio(radio:Radio):void {
var s:Sound = new Sound();
var chan:SoundChannel = s.play();
s.load();
trace("radio");
}
public function getRadios():Array {
return radioArray;
trace("All radio channels collected");
}
public function getRadio(radioNumber:int):Radio {
r = radioNumber;
return radioArray[radioNumber];
trace("Actual radio collected");
}
Проблема заключается в функции selectRadio. Я не знаю, как загрузить URL-адрес в массивы. Это должно быть s.load (- что-то здесь); Причина, по которой я это делаю, заключается в том, что я хочу иметь несколько радиостанций.
Надеется, что вы можете помочь :)
Спасибо большое, он работает сейчас :) – user2468100
О кстати, вы знаете, чтобы сделать поток играть только один раз? Если я нажимаю его более одного раза, он играет два потока друг над другом. Я пробовал оператор if с помощью s.close(), но это не сработало. – user2468100
Как я уже писал, вам нужно остановить предыдущий SoundChannel перед воспроизведением нового звука. Поэтому вам нужно сохранить ссылку (например, в частной собственности) на используемый в настоящее время SoundChannel и вызвать 'soundChannel.stop()' прямо перед воспроизведением нового звука. – kosmo