0
我正在构建自定义音频播放器。整个事情驱动MediaPlayback组件。我有一个随着歌曲进程而移动的洗刷器。我希望能够点击并擦除它。目前我已设置为将playheadTime设置为等于拖动滑块的百分比距离乘以播放组件的总时间。在释放滑块后,我会追踪播放头时间,它似乎很好,但我无法让它继续播放。以下是控制器中的代码:Flash AS2:设置MediaPlayback组件的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;
}
}