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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 31.07.2010, 00:58
3p.station вне форума Посмотреть профиль Отправить личное сообщение для 3p.station Найти все сообщения от 3p.station
  № 1  
Ответить с цитированием
3p.station
 
Аватар для 3p.station

блогер
Регистрация: Oct 2009
Адрес: кочевник. Киев
Сообщений: 453
Записей в блоге: 5
По умолчанию ссылка на SoundChannel из другого класса не работает

привет всем!
пршу помощи
нужно сделать список треков и рядом кнопку плей для них
когда кликаем на нее трек котороый играл до этого должен перестать играть
я спроэкьтровал это так:
создаем класс плеера и главный класс , в главном классе делаем экземпляры плеера и передаем в него SoundChannel который был создан в главном класс, в классе плеера при клике на плей сначала стопим весь канал а потом уже в него пускаем новый трек
урезанный код
главный КЛАСС:
Код AS3:
package {
 
	import flash.display.*;
	import Player;
	import flash.media.*;
	public class Test extends Sprite { 
 
		var xml:XML;	
		var player:Player = new Player();
	var channel:SoundChannel				= new SoundChannel();
 
		function Test(){
			loadXML();
			testBttn.addEventListener(MouseEvent.CLICK, testChannel);
		}
 
	         function loadXML(){
 
				var xmlLoader:URLLoader = new URLLoader();
			    xmlLoader.addEventListener(Event.COMPLETE, LoadXMLComplete);			
 
                xmlLoader.load(new URLRequest("xml/mp3.xml"));
 
		        function LoadXMLComplete(event:Event):void 
                               {
			                xml = new XML(event.target.data);
					addChild(player);
					player.addPlayer(channel,xml,700,15,directoryContainer,true);
                                        player.playTrack("track.mp3")
 
				}
		}
 
                function testChannel(e:Event):void
			{
				channel.stop();
				var transform:SoundTransform = new SoundTransform(.01, 1);
				channel.soundTransform = transform;
				trace("testChannel")
		}
 
	}
}
как видно я передаю channel в экземпляр класса player

теперь кусочек из Player();
Код AS3:
		public function addPlayer(Channel,xml,X,Y,directoryContainer:Object = null,DIR:Boolean = false):void
			{
				this.channel = Channel;
                                  ......................
                }
		public function playTrack(filePath):void
			{
				try 
					{ 
						channel.stop();
						track.close();
					} catch(e:Error){
						channel.stop();
					}
 
				track = new Sound;
				track.load(new URLRequest(filePath.toString()));
				track.addEventListener(ProgressEvent.PROGRESS, progressLoad)
				channel = track.play();
						var transform:SoundTransform = new SoundTransform(volumeLevel, 0);
						channel.soundTransform = transform;
				channel.addEventListener(Event.SOUND_COMPLETE, endTrack);
				timer.addEventListener(TimerEvent.TIMER, Progress); 
				timer.start();
		}
вроде как все нормальненько
работает нормально
но когда в главном классе срабатывает кнопка testBttn и якобы остонавливается channel - testChannel то ничего не происходит трек играл и играет дальше


Последний раз редактировалось 3p.station; 31.07.2010 в 01:33.
Создать новую тему Ответ Часовой пояс GMT +4, время: 15:15.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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