0

我正在用 MVC 制作一个 mp3/steaming 收音机,我试图从数组中加载一个 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));
        });

最后在模型中我有:

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(--something in here--); 我这样做的原因是因为我想拥有多个广播电台。

希望你能帮忙:)

4

1 回答 1

0
var s:Sound = new Sound(radio.getURL());
var chan:SoundChannel = s.play();

load 函数会被构造函数自动调用,也不要忘记停止之前的 SoundChannel。

在这里:http ://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Sound.html你会找到关于声音的一切

于 2013-06-09T11:48:29.630 回答