Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   SoundChannel.position всегда возвращает 0 (http://www.flasher.ru/forum/showthread.php?t=114135)

tonix 19.07.2008 01:21

SoundChannel.position всегда возвращает 0
 
доброго времени суток!

есть функция проигрывания звука, и есть функция которая повторяется постоянно в процессе проигрывания

Код:

//Функция проигрывания трека
function PlayTrack(dir:Number)
{
/*
Some work
*/

snd_track = new Sound();
mp3request = new URLRequest('song.mp3');
snd_track.load(mp3request);
snd_ch = new SoundChannel;
snd_ch = snd_track.play();
snd_ch.addEventListener(Event.SOUND_COMPLETE, trackComplete);
snd_track.addEventListener(ProgressEvent.PROGRESS,indicatePosition);

}

function indicatePosition(event:Event)
{
                       
//
var dur:Number = snd_track.length;
var pos:Number = snd_ch.position;
                       
trace(snd_ch.position); //Вызван для проверки, всегда 0
                       
/*
Индикация загрузки и прочие действия
*/
}


и все время выдает 0, как будто трек не играется а стоит на месте, в поиске не нашел ничего, у меня что то с руками?

googleavast 19.07.2008 13:16

Вот рабочий код
Код:

package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.media.Sound;
    import flash.media.SoundChannel;
    import flash.net.URLRequest;

    public class SoundExample extends Sprite {
        private var url:String = "MySound.mp3";
        private var song:SoundChannel;

        public function SoundExample() {
            var request:URLRequest = new URLRequest(url);
            var soundFactory:Sound = new Sound();
            soundFactory.addEventListener(Event.COMPLETE, completeHandler);
            soundFactory.addEventListener(Event.ID3, id3Handler);
            soundFactory.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
            soundFactory.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            soundFactory.load(request);
            song = soundFactory.play();
        }

        private function completeHandler(event:Event):void {
            trace("completeHandler: " + event);
        }

        private function id3Handler(event:Event):void {
            trace("id3Handler: " + event);
        }

        private function ioErrorHandler(event:Event):void {
            trace("ioErrorHandler: " + event);
        }

        private function progressHandler(event:ProgressEvent):void {
            trace(song.position);
        }
    }
}



Часовой пояс GMT +4, время: 18:38.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.