![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2009
Сообщений: 55
|
Сделал mp3 плеер по примеру. При компиляции Output выдает ошибку:
Error #2044: Необработанный IOErrorEvent:. text=Error #2032: Ошибка потока. at player_fla::MainTimeline/frame3() at flash.display::MovieClip/gotoAndStop() at player_fla::MainTimeline/XMLloaded() at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at flash.net::URLLoader/onComplete() Error #2044: Необработанный IOErrorEvent:. text=Error #2032: Ошибка потока. at player_fla::MainTimeline/frame3() 1 кадр import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.net.URLRequest; import flash.display.Loader; import flash.events.Event; stop(); var trackToPlay:String; var pausePosition:int = 0; var songURL:URLRequest; var i:uint; var myXML:XML = new XML(); var XML_URL:String = "xml/music.xml"; var myXMLURL:URLRequest = new URLRequest(XML_URL); var myLoader:URLLoader = new URLLoader(myXMLURL); myLoader.addEventListener("complete", XMLloaded); function XMLloaded(e:Event):void { myXML = XML(myLoader.data); var firstSong:String = myXML.Song.songTitle[0]; var firstArtist:String = myXML.Song.songArtist[0]; songURL = new URLRequest("music/" + firstSong + ".mp3"); title_txt.text = "1."+firstArtist+" - "+firstSong; for each (var Song:XML in myXML..Song) { i++; var songTitle:String = Song.songTitle.toString(); var songArtist:String = Song.songArtist.toString(); playlist.lists.addItem({label:i+"."+songArtist+"-"+songTitle, songString:songTitle,Artist:songArtist, songNum:i}); } var myArray = new Array(0,0); playlist.lists.selectedIndices = myArray; gotoAndStop(3); } 3 кадр import flash.media.Sound; import flash.media.SoundChannel; import flash.media.SoundLoaderContext; import flash.events.Event; import flash.events.MouseEvent; stop(); var snd:Sound = new Sound(); var channel:SoundChannel; var context:SoundLoaderContext = new SoundLoaderContext(5000,true); snd.load(songURL, context); channel = snd.play(pausePosition); playlist.lists.addEventListener(Event.CHANGE, itemClick); function itemClick(e:Event):void { channel.stop(); title_txt.text = e.target.selectedItem.label; trackToPlay = e.target.selectedItem.songString; gotoAndPlay(2); } channel.addEventListener(Event.SOUND_COMPLETE, new_music); function new_music(e:Event):void { newTrack(); } music_btn.stop_btn.addEventListener(MouseEvent.CLICK, stop_music); function stop_music(e:Event):void { channel.stop(); } function newTrack():void { if (playlist.lists.selectedItem.songNum == i) { channel.stop(); var selectFirst = new Array(0,0); playlist.lists.selectedIndices = selectFirst; playlist.lists.scrollToIndex(0); trackToPlay = playlist.lists.selectedItem.songString; gotoAndPlay(2); } else { channel.stop(); var sn:uint = playlist.lists.selectedItem.songNum; var selectNext = new Array(sn,sn); playlist.lists.selectedIndices = selectNext; playlist.lists.scrollToIndex(0); trackToPlay = playlist.lists.selectedItem.songString; gotoAndPlay(2); } pausePosition = 0; } |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 428
|
1. А где лоадер? Вы не качаете музыку, а просто инициализируете ссылку на файл
2. Откуда могла бы быть гарантия, что музыка успела скачаться между вторым и третьим кадром?
__________________
Скажи мне кто твой друг и я скажу тебе кто твой друг |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 55
|
добавил
и сразу ушел в аут с той же ошибкой аутпута |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 428
|
Сорри, не увидел в Вашем коде
сейчас внимательнее посмотрю Добавлено через 22 минуты В общем у себя воспроизвел, работает без сбоев, вот ко моего третьего кадра import flash.media.Sound; import flash.media.SoundChannel; import flash.media.SoundLoaderContext; import flash.events.Event; import flash.events.MouseEvent; import flash.events.ProgressEvent; var snd:Sound = new Sound(); var channel:SoundChannel; var context:SoundLoaderContext = new SoundLoaderContext(5000,true); snd.load(new URLRequest("/music/1.mp3"), context); snd.addEventListener(Event.COMPLETE, completeListener); snd.addEventListener(ProgressEvent.PROGRESS, progressHandler); function completeListener(event:Event) { channel = snd.play(); } function progressHandler(event:ProgressEvent) { var loadTime:Number = event.bytesLoaded / event.bytesTotal; var LoadPercent:uint = Math.round(100 * loadTime); trace( "Sound file's size in bytes: " + event.bytesTotal + "\n" + "Bytes being loaded: " + event.bytesLoaded + "\n" + "Percentage of sound file that is loaded " + LoadPercent + "%.\n" ); } stop(); в третьем кадре
__________________
Скажи мне кто твой друг и я скажу тебе кто твой друг |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 55
|
вы правы - trace показал только названия музыки, без исполнителя... значит будем бодаться... спс))
|
![]() |
![]() |
Часовой пояс GMT +4, время: 12:20. |
|
|
« Предыдущая тема | Следующая тема » |
|
|