Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.01.2008, 17:59
Korsar Nik вне форума Посмотреть профиль Отправить личное сообщение для Korsar Nik Найти все сообщения от Korsar Nik
  № 1  
Ответить с цитированием
Korsar Nik

Регистрация: May 2006
Сообщений: 36
По умолчанию Проблема с mp3 плеером

Нужно сделать mp3 плеер с плейлистом. Так как ранее с xml не работал, переделываю чужой исходник. Проблема в том, что не знаю как сделать, чтобы при завершении текущего трека начинал играть следующий. Кроме того, хочется, чтобы при нажатии на трек в плейлисте он сразу начинал играть, без дополнительного нажатия кнопки Play. Подскажите, пожалуйста, как это реализовать. Вот исходник

Заранее спасибо.

Старый 11.01.2008, 18:10
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 2  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
ActionScript 2.0 Language Reference

ActionScript classes > Sound > onSoundComplete (Sound.onSoundComplete handler)
__________________
: M F N W :

Старый 11.01.2008, 18:27
Mr. Fixit вне форума Посмотреть профиль Найти все сообщения от Mr. Fixit
  № 3  
Ответить с цитированием
Mr. Fixit
Banned
[+1 08.05.08]
[+4 14.04.08]
[+1.3 02.05.08]

Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
хочется в вакансиях =)

вот при нажатии, пусть и играет

Старый 11.01.2008, 19:31
Aisaid вне форума Посмотреть профиль Отправить личное сообщение для Aisaid Найти все сообщения от Aisaid
  № 4  
Ответить с цитированием
Aisaid
[+3 19.07.07]
 
Аватар для Aisaid

Регистрация: Aug 2006
Адрес: Kharkov, Ukraine
Сообщений: 129
Отправить сообщение для Aisaid с помощью ICQ
вот простенький мп3 плеер с плейлистом
(код без каментов... делал для себя, но всё очень просто)
Вложения
Тип файла: zip PLAYER.zip (90.1 Кб, 192 просмотров)
__________________
Самый великий программер - БОГ!

Старый 11.01.2008, 22:58
Korsar Nik вне форума Посмотреть профиль Отправить личное сообщение для Korsar Nik Найти все сообщения от Korsar Nik
  № 5  
Ответить с цитированием
Korsar Nik

Регистрация: May 2006
Сообщений: 36
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();
};
Но в результате следующий трек становится активным, воспроизведение всё так же останавливается и сохраняется, а не обнуляется положение ползунка воспроизведения (почему?).

Проблему изложил, хоть и громоздко. Помогите, пожалуйста, разобраться. Если я что-то непонятно описал - вверху ссылка на исходник. Заранее благодарен за советы.

Старый 14.01.2008, 02:19
Korsar Nik вне форума Посмотреть профиль Отправить личное сообщение для Korsar Nik Найти все сообщения от Korsar Nik
  № 6  
Ответить с цитированием
Korsar Nik

Регистрация: May 2006
Сообщений: 36
Тема всё ещё актуальна. Помогите, пожалуйста.

Старый 14.01.2008, 12:44
Aisaid вне форума Посмотреть профиль Отправить личное сообщение для Aisaid Найти все сообщения от Aisaid
  № 7  
Ответить с цитированием
Aisaid
[+3 19.07.07]
 
Аватар для Aisaid

Регистрация: Aug 2006
Адрес: Kharkov, Ukraine
Сообщений: 129
Отправить сообщение для Aisaid с помощью ICQ
читаешь листинг из файла - записываешь его в комбо бокс или лист
алгоритм автоматического воспроизведения есть в моём примере
по моему тема себя исчерпала
__________________
Самый великий программер - БОГ!

Старый 10.07.2010, 10:52
ecolora вне форума Посмотреть профиль Отправить личное сообщение для ecolora Найти все сообщения от ecolora
  № 8  
Ответить с цитированием
ecolora

Регистрация: Jul 2010
Сообщений: 3
А Вы решили проблему с множественной загрузкой звука?
http://www.flasher.ru/forum/showthread.php?t=141948
Может поможете советом?
По идее stop не вынуждает браузер прекратить загрузку звука и если пользователь "торопыга", то в конце концов, пощёлкав по очереди треки в проигрывателе, он получит большие тормоза при воспроизведении очередного трека.

Старый 10.07.2010, 18:08
KirAmp вне форума Посмотреть профиль Найти все сообщения от KirAmp
  № 9  
Ответить с цитированием
KirAmp
Banned
[+4 10.07.10]
[+1.4 10.08.10]
[+1 20.08.10]

Регистрация: Jul 2009
Адрес: Саратов
Сообщений: 229
Отправить сообщение для KirAmp с помощью ICQ
Korsar Nik
1) В пособии братьев Гурских написано как сделать плеер
2) В конце Мука есть потрясающий справочник на русском языке по процедурам и функциям AS2.
--------------------------------------------
3)
Код AS1/AS2:
sound_obg.onSoundComplete = function() {
    play_var++;
    play_function(play_var);
}
Возможно натолкнет на умные мысли.
--------------------------------------------
Могу и готовый плеер кинуть...... Только толка будем мало......

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:55.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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