2Aisaid
Спасибо, я где-то даже видел этот исходник, когда через поиск плееры искал. Но мне кроме того нужно отображение плейлиста.
Поставлю вопрос конкретнее. Вот код:

Код:
stop();
var snd = this.createEmptyMovieClip("SoundController", 1);
snd.init = function() {
snd._sound = new Sound(this);
this.isPlaying = false;
this.position = 0;
loadingbar_mc._xscale = 0;
progressbar_mc._xscale = 0;
};
snd.loadSound = function(url) {
this._sound.loadSound(url,true);
stop_btn.onRelease();
};
snd._sound.onSoundComplete = function() {
stop_btn.onRelease();
};
snd.onEnterFrame = function() {
if (this.isPlaying) {
this.position = this._sound.position;
}
this.loaded = this._sound.getBytesLoaded()/this._sound.getBytesTotal();
loadingbar_mc._xscale = scrubber_mc._xscale*this.loaded;
progressbar_mc._xscale = loadingbar_mc._xscale*this.position/this._sound.duration;
};
play_btn.onRelease = function() {
if (!isPlaying) {
snd._sound.start(snd.position/1000);
snd.isPlaying = true;
}
};
pause_btn.onRelease = function() {
if (!snd.isPlaying) {
return (0);
}
snd.position = snd._sound.position;
snd._sound.stop();
snd.isPlaying = false;
};
stop_btn.onRelease = function() {
snd.position = 0;
snd._sound.stop();
snd.isPlaying = false;
};
prev_btn.onRelease = function() {
if (snd.node) {
if (snd.node.previousSibling) {
SetSong(snd.node.previousSibling);
} else {
SetSong(snd.node.parentNode.lastChild);
}
}
};
next_btn.onRelease = function() {
if (snd.node) {
if (snd.node.nextSibling) {
SetSong(snd.node.nextSibling);
} else {
SetSong(snd.node.parentNode.firstChild);
}
}
};
scrubber_mc.onPress = function() {
if (!snd.loaded) {
return (0);
}
var pos = this._xmouse/100;
snd.position = Math.min(snd._sound.duration, pos*snd._sound.duration/snd.loaded);
if (snd.isPlaying) {
snd._sound.start(snd.position/1000);
}
};
SetSong = function (node) {
snd.node = node;
snd.loadSound(node.attributes.src);
title_txt.text = node.attributes.title;
};
snd.init();
В прицнипе, названия функций сами за себя говорят. Сейчас при нажатии кнопки next_btn становится активным следующий в плейлисте трек и воспроизведение останавливается. Чтобы трек ещё и заиграл, мне нужно нажать play_btn.
А теперь я хочу, чтобы следующий трек автоматически начинал играть при нажатии next_btn. Для этого я просто-напросто добавляю в функцию next_btn вызов функции play_btn:

Код:
next_btn.onRelease = function() {
if (snd.node) {
if (snd.node.nextSibling) {
SetSong(snd.node.nextSibling);
} else {
SetSong(snd.node.parentNode.firstChild);
}
}
play_btn.onRelease();
};
Но в результате следующий трек становится активным, воспроизведение всё так же останавливается и сохраняется, а не обнуляется положение ползунка воспроизведения (почему?).
Проблему изложил, хоть и громоздко. Помогите, пожалуйста, разобраться. Если я что-то непонятно описал - вверху ссылка на исходник. Заранее благодарен за советы.