Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Adobe AIR Development

Posts: 132
Registered: ‎02-17-2012
My Device: Bold 9900
My Carrier: AT&T
Accepted Solution

Playing sound

Any one have any idea on how to play a sound after a timer has ended in AS3?



im making a timer and once the timer ends i want to have it play a sound.


any help?

Posts: 1,382
Registered: ‎07-02-2009
My Device: BlackBerry Bold 9900
My Carrier: Bell

Re: Playing sound

Moving this question to the Adobe AIR development forum where you will find more ActionScript developers.

Follow me on Twitter: @n_adam_stanley
Your app doesn't work? Use BlackBerry remote web inspector to find out why.
Posts: 6,541
Registered: ‎10-27-2010
My Device: HTC One, PlayBook, LE Z10, DE Q10
My Carrier: Verizon

Re: Playing sound

Have you looked into the Sound class? Also the SoundChannel class may be used it you want to know when the sound has finished playing (along with other features).
Posts: 132
Registered: ‎02-17-2012
My Device: Bold 9900
My Carrier: AT&T

Re: Playing sound

Actually i was able to figure this out on my own! 




Also it was the sound class that i had to use. 


Just 3 lines of code



Thank you guys 

Posts: 614
Registered: ‎10-17-2010
My Device: (BlackBerry Z10)-> Q10/Passport Dual Use

Re: Playing sound

[ Edited ]

Here is sample code for those interested in getting sound into their application.

package {
    import flash.display.Sprite;
    import flash.media.Sound;
    import flash.media.SoundChannel;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.events.MouseEvent;
    import flash.text.TextFormat;
    import flash.net.URLRequest;
    import flash.events.Event;
    import flash.events.IOErrorEvent;

    [SWF(height="600", width="1024", frameRate="30", backgroundColor="#FFFFFF")]
    public class SoundChannel_event_soundCompleteExample extends Sprite {
        private var channel:SoundChannel = new SoundChannel();
        private var songList:Array = new Array();
        private var listTextField:TextField = new TextField();
        private var songFormat:TextFormat = new TextFormat();
        private var arrayIndex:int = 0;
        private var songSelected:Boolean = false;
        public function SoundChannel_event_soundCompleteExample() {
            listTextField.autoSize = TextFieldAutoSize.LEFT;
            listTextField.border = true
            listTextField.background = true;
            listTextField.text = "Song1.mp3\n" + "Song2.mp3\n" 
                                + "Song3.mp3\n" + "Song4.mp3\n" + "PLAY";
            songFormat.italic = true;
            listTextField.addEventListener(MouseEvent.CLICK, clickHandler);
        private function clickHandler(e:MouseEvent):void {
            var index:int = listTextField.getLineIndexAtPoint(e.localX, e.localY);
            var line:String = listTextField.getLineText(index);
            var firstIndex:uint = listTextField.getLineOffset(index);
            var playLine:uint = listTextField.numLines - 1;

                if((index == playLine) && (songSelected == true)) {
                    listTextField.removeEventListener(MouseEvent.CLICK, clickHandler);

                } else if (index != playLine) {
                     songList.push(line.substr(0, (line.length - 1)));
                     listTextField.setTextFormat(songFormat, firstIndex, 
                                (firstIndex + listTextField.getLineLength(index)));     
                    songSelected = true;

        private function playNext():void {
             if(arrayIndex < songList.length) {
                var snd:Sound = new Sound();
                snd.load(new URLRequest(songList[arrayIndex]));
                channel = snd.play();
                channel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);
            } else {
                songSelected = false;
                while(arrayIndex > 0) {

        private function soundCompleteHandler(e:Event):void {

        private function errorHandler(errorEvent:IOErrorEvent):void {

Compliments of Adobe®