|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: 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 кадр: 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/ 3 кадр: 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> Последний раз редактировалось mariamarfi; 25.03.2014 в 14:46. |
Часовой пояс GMT +4, время: 21:04. |
|
« Предыдущая тема | Следующая тема » |
|
|