Flash AS2: настройка playheadTime компонента MediaPlayback - PullRequest
0 голосов
/ 08 ноября 2010

Я создаю собственный аудиоплеер.Все это управляет компонентом MediaPlayback.У меня настроен скруббер, который движется с развитием песни.Я хочу быть в состоянии щелкнуть и вычистить это все же.В настоящее время у меня установлено значение playheadTime, равное процентному расстоянию, на которое ползунок перетаскивается до общего времени компонента воспроизведения.После выпуска ползунка я прослеживаю playheadTime, и, кажется, все в порядке, но я не могу заставить его возобновить воспроизведение вообще.Вот код в контроллере:

var totalDistance = bar_mc._width - slider_mc._width;
var wasPlaying = false;
this.onEnterFrame = function(){
    var tTime = this._parent._parent._parent.music_mp3.totalTime;
    var cTime = this._parent._parent._parent.music_mp3.playheadTime;
    var percDone = cTime / tTime;
    slider_mc._x = percDone * totalDistance;
}
slider_mc.onPress = function(){
    wasPlaying = this._parent._parent._parent._parent.music_mp3.playing;
    this._parent._parent._parent._parent.music_mp3.pause();
    this.startDrag(false,0,0,totalDistance,0);
    delete this._parent.onEnterFrame;
    this.onEnterFrame = function(){
          this._parent._parent._parent._parent.music_mp3.playheadTime = this._x / totalDistance * this._parent._parent._parent._parent.music_mp3.totalTime;
    }
}
slider_mc.onRelease = slider_mc.onReleaseOutside = function(){
    this.stopDrag();
    if(wasPlaying){
            this._parent._parent._parent._parent.music_mp3.play();
            trace(this._parent._parent._parent._parent.music_mp3.playheadTime);
    }
    this._parent.onEnterFrame = function(){
            var tTime = this._parent._parent._parent._parent.music_mp3.totalTime;
            var cTime = this._parent._parent._parent._parent.music_mp3.playheadTime;
            var percDone = cTime / tTime;
            slider_mc._x = percDone * totalDistance;
    }
}

1 Ответ

0 голосов
/ 08 ноября 2010

вау, я тупой Я только что понял, что устанавливаю время воспроизведения в текущую позицию в onEnterFrame. Затем в onRelease я не удаляю эту ссылку, поэтому просто буду постоянно устанавливать время воспроизведения в точку, в которой я перетащил позицию скруббера.

необходимо удалить this.onEnterFrame в slider_mc.onRelease.

...