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

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

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

Регистрация: Mar 2012
Сообщений: 61
По умолчанию Музыка не проигрывается... (AS3 + XML + MP3)

Музыка не проигрывается...

Error #2044: Необработанный IOErrorEvent:. text=Error #2032: Ошибка потока.
at myList_fla::MainTimeline/frame3()
at flash.display::MovieClip/gotoAndStop()
at myList_fla::MainTimeline/xmlLoaded()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()
AS3/ 1 кадр:
Код AS3:
import flash.net.URLRequest;
import flash.net.URLLoader;
 
stop();
 
var myFormat:TextFormat = new TextFormat();
myFormat.color = "0x00026D";
 
list.setRendererStyle("textFormat", myFormat);
 
//////////////////////////////////////////////////////////////////////////////////////////////////
 
// Initialize variables
var trackToPlay:String;
var pausePosition:int = 0;
var songURL: URLRequest;
var i:uint;
// Initialize the XML, place the xml file name, initialize the URLRequest
// put URLRequest into a new URLLoader, and add event listener on 
// myLoader listening for when the XML loading is complete
var myXML: XML = new XML();
var XML_URL:String = "xmls/mp3_playlist.xml";
var myXMLURL:URLRequest = new URLRequest(XML_URL);
var myLoader: URLLoader = new URLLoader(myXMLURL);
myLoader.addEventListener("complete", xmlLoaded);
 
// Create the xmlLoaded function. What happens when the XML file is fully read
function xmlLoaded(event:Event):void {
 
    // Place the xml data into the myXML object
    myXML = XML(myLoader.data);
   // Access song 1 in the XML file to start the player
   var firstSong:String = myXML..Song.songTitle[0];
   var firstArtist:String = myXML..Song.songArtist[0];
   songURL = new URLRequest("musics/" + firstSong + ".mp3");
   status_txt.text = "1. "+firstSong +" - "+firstArtist;
	     // Run the "for each" loop to iterate through all of the song items listed in the external XML file
	     for each (var Song:XML in myXML..Song) {
 
			 i++; // Increment the song counter by one
			 // Access the value of the "itemColor" node in our external XML file
			 var songTitle:String = Song.songTitle.toString();
			 // Access the value of the "itemLabel" node in our external XML file
			 var songArtist:String = Song.songArtist.toString();
			 // Adds each song into the list component through this loop
			 list.addItem( { label: i+". "+songTitle+" - "+songArtist, songString: songTitle, Artist: songArtist, songNum: i } );
 
	     }
		 var myArray = new Array (0,0);
         list.selectedIndices = myArray; // This highlights song 1 by default
		 gotoAndStop(3);
 
}
AS3/ 2 кадр:
Код AS3:
songURL = new URLRequest("musics/" + trackToPlay + ".mp3");
AS3/ 3 кадр:
Код AS3:
stop();
var snd:Sound = new Sound();
var channel:SoundChannel;
var context:SoundLoaderContext = new SoundLoaderContext(5000, true);
snd.load(songURL, context);
channel = snd.play(pausePosition); // Start playing
// Playlist item click listener
list.addEventListener(Event.CHANGE, itemClick);
// Playlist item click function
function itemClick (event:Event):void {
	channel.stop(); // stop play
	status_txt.text = event.target.selectedItem.label;
	trackToPlay = event.target.selectedItem.songString;
	gotoAndPlay(2);
}
 
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Stop Button Listener
stop_btn.addEventListener(MouseEvent.CLICK, stopPlayer);
// Stop Button Function
function stopPlayer (event:MouseEvent):void {
	channel.stop();
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Event Listener for sound complete when any song finishes
channel.addEventListener(Event.SOUND_COMPLETE, onCompletePlayback);
// Function inSoundComplete
function onCompletePlayback (event:Event):void {
	newTrack();
}
// New track play function
function newTrack():void {
	 if (list.selectedItem.songNum == i) { // if songNum == total track amount
         channel.stop();  // stop the player
		 var selectFirst = new Array (0,0); // array for cell select
         list.selectedIndices = selectFirst; // This selects song 1
		 list.scrollToIndex(0);
		 trackToPlay = list.selectedItem.songString; // Define New track to play
	     gotoAndPlay(2); // Make the switch and play
	 } else {
         channel.stop();  // stop the player
		 var sn:uint = list.selectedItem.songNum; // var that has value of current list songNum
		 var selectNext = new Array (sn,sn); // array for cell select
         list.selectedIndices = selectNext; // This selects next song in the list component
		 list.scrollToIndex(sn);
		 trackToPlay = list.selectedItem.songString; // Define New track to play
	     gotoAndPlay(2); // Make the switch and play
	 }
		// Always set pausePosition back to 0 here
		pausePosition = 0;
} /// Close newTrack function
////////////////////////////////////////////////////////////////////////////////////
// Set up the onEnterFrame Event for EQ and other various things we may add later on
addEventListener(Event.ENTER_FRAME, onEnterFrame);
function onEnterFrame(event:Event):void {
 
	// ANIMATED EQ BARS CODE
    eqBarLeft1.gotoAndStop (Math.round(channel.leftPeak * 10) ); // 10 is the amount of frames in our EQbar clips
    eqBarRight1.gotoAndStop (Math.round(channel.rightPeak * 8) ); // 10 is the amount of frames in our EQbar clips
    eqBarLeft2.gotoAndStop (Math.round(channel.leftPeak * 7) ); // 10 is the amount of frames in our EQbar clips
    eqBarRight2.gotoAndStop (Math.round(channel.rightPeak * 7) ); // 10 is the amount of frames in our EQbar clips
    eqBarLeft3.gotoAndStop (Math.round(channel.leftPeak * 8) ); // 10 is the amount of frames in our EQbar clips
    eqBarRight3.gotoAndStop (Math.round(channel.rightPeak * 10) ); // 10 is the amount of frames in our EQbar clips
 
}

XML:
Код:
<?xml version="1.0" encoding="utf-8"?>
<XML>
	<Song>
		 <songTitle>Лето пьяное</songTitle>
		 <songArtist>Вика Цыганова</songArtist>
	</Song>
	
	<Song>
		 <songTitle>Не забывайте друзей</songTitle>
		 <songArtist>Вячеслав Добрынин</songArtist>
	</Song>
		   
	<Song>
		<songTitle>Грешная любовь</songTitle>
		<songArtist>Ион Суручану</songArtist>
	</Song>

	<Song>
		<songTitle>Бабы-стервы</songTitle>
		<songArtist>Ирина Аллегрова</songArtist>
	</Song>
		   		   
	<Song>
		<songTitle>Вот и встретились</songTitle>
		<songArtist>Надежда Бабкина и Владимир Назаров</songArtist>
	</Song>
		   
	<Song>
		 <songTitle>А я вовсе не колдунья</songTitle>
		 <songArtist>Надежда Кадышева</songArtist>
	</Song>
		   
	<Song>
		  <songTitle>Выйду на улицу</songTitle>
		  <songArtist>Надежда Кадышева и Олег Газманов</songArtist>
	</Song>
</XML>
Изображения
 
Вложения
Тип файла: rar musics.part1.rar (9.54 Мб, 24 просмотров)
Тип файла: rar musics.part2.rar (9.54 Мб, 18 просмотров)
Тип файла: rar musics.part3.rar (9.54 Мб, 15 просмотров)
Тип файла: rar musics.part4.rar (6.12 Мб, 18 просмотров)
Тип файла: rar MyList.rar (725.3 Кб, 21 просмотров)


Последний раз редактировалось mariamarfi; 25.03.2014 в 14:46.
Создать новую тему Ответ Часовой пояс GMT +4, время: 21:04.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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