Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
331,68 KB
Nội dung
Flash - Tạo một máy Mp3 Player chạy cùng với XML (phần 1) Phần các chi tiết trên Mp3 Player : Tạo một file thực hành mới với kích thước tùy ý . Sau đó, tại Frame 1 các bạn vẽ thanh loading rồi Convert sang movie clip và điều chỉnh như sau : Sau đó đưa đoạn mã sau vào : CODE 1. stop(); onEnterFrame=function(){ if(_framesloaded==_totalframes&&getBytesLoaded()==getBytesT otal()){ gotoAndStop(3); } } Tại Frame 2 các bạn đưa đoạn mã sau vào : CODE 1. stop(); var songs:Array = new Array(); var curtrack:Number = 0; var playingsong:Sound = new Sound(); if (_root.playlist == undefined || _root.playlist == "") { _root.playlist = "playlist.xml"; } var playlistXml:XML = new XML(); playlistXml.ignoreWhite = true; playlistXml.load(_root.playlist); playlistXml.onLoad = function() { loadSongs(); loadplaylistbox(); loadSong(curtrack); if (_root.autostart == "false") { toggleplaypause(); } }; function loadSongs() { for (songIndex=0; songIndex<playlistXml.childNodes[0].childNodes[0].childNodes.l ength; songIndex++) { var songdata:Object = new Object(); for (songNode=0; songNode<playlistXml.childNodes[0].childNodes[0].childNodes[s ongIndex].childNodes.length; songNode++) { switch(playlistXml.childNodes[0].childNodes[0].childNodes[songI ndex].childNodes[songNode].nodeName){ case "creator": songdata.artist = playlistXml.childNodes[0].childNodes[0].childNodes[songIndex].c hildNodes[songNode].childNodes[0].nodeValue; break; case "title": songdata.title = playlistXml.childNodes[0].childNodes[0].childNodes[songIndex].c hildNodes[songNode].childNodes[0].nodeValue; break; case "location": songdata.location = playlistXml.childNodes[0].childNodes[0].childNodes[songIndex].c hildNodes[songNode].childNodes[0].nodeValue; break; } } songs[songIndex] = songdata; } } function loadSong(track) { playingsong = new Sound(); playingsong.loadSound(songs[track].location, true); playingsong.start(0); updatevolume(); playingsong.onSoundComplete = function() { loadSong((curtrack+1)%(songs.length)); }; playpause.gotoAndStop(1); playpause.playpausebutton.onPress = function() { toggleplaypause(); }; songdisplay.text = songs[track].artist+" - "+songs[track].title; eval("playlistbox.playlistitemcontainer.playlistitem"+curtrack+".pl aylistitemhighlight")._alpha = 4; eval("playlistbox.playlistitemcontainer.playlistitem"+track+".playli stitemhighlight")._alpha = 20; curtrack = track; } function loadplaylistbox() { for (songIndex=0; songIndex<playlistXml.childNodes[0].childNodes[0].childNodes.l ength; songIndex++) { playlistbox.playlistitemcontainer.attachMovie("playlistitem", "playlistitem"+songIndex, playlistbox.playlistitemcontainer.getNextHighestDepth(), {_x:0, _y:15*songIndex}); eval("playlistbox.playlistitemcontainer.playlistitem"+songIndex+". playlistitemtext").text = songs[songIndex].artist+" - "+songs[songIndex].title; eval("playlistbox.playlistitemcontainer.playlistitem"+songIndex).s ongindex = songIndex; } } playpause.playpausebutton.onPress = function() { toggleplaypause(); }; function toggleplaypause() { if (playpause._currentframe == 1) { playpause.gotoAndStop(2); playpause.curpos = playingsong.position; playingsong.stop(); } else { playpause.gotoAndStop(1); playingsong.start(playpause.curpos/1000, 0); } playpause.playpausebutton.onPress = function() { toggleplaypause(); }; } onEnterFrame = function () { if (songdisplay.movingright) { songdisplay.hscroll -= 10; if (songdisplay.hscroll<=0) { songdisplay.movingright = false; } } else { songdisplay.hscroll += 10; if (songdisplay.hscroll>=songdisplay.maxhscroll) { songdisplay.movingright = true; } } if (!draggingslider) { progressslider._x = (playingsong.position/playingsong.duration)*182+61; if (progressslider._x == 0) { progressslider._x = 61; } } if (draggingplaylistscroller) { updateplaylistscroll(); } if (draggingvolmeslider) { updatevolume(); } tempsongtime = ""; if (Math.floor(playingsong.position/60000) == 0) { tempsongtime += "0"; } else { tempsongtime += Math.floor(playingsong.position/60000); } tempsongtime += ":"; if (Math.floor((playingsong.position/1000)%60)<10) { tempsongtime += "0"; } tempsongtime += Math.floor((playingsong.position/1000)%60); tempsongtime += "/"; if (Math.floor(playingsong.duration/60000) == 0) { tempsongtime += "0"; } else { tempsongtime += Math.floor(playingsong.duration/60000); } tempsongtime += ":"; if (Math.floor((playingsong.duration/1000)%60)<10) { tempsongtime += "0"; } tempsongtime += Math.floor((playingsong.duration/1000)%60); songtime.text = tempsongtime; //trace(Math.floor(playingsong.position/60000)); //if(Math.floor(playingsong.position/1000)%60) //songtime.text=Math.floor(playingsong.position/1000)%60+"/"+M ath.floor(playingsong.duration/1000)%60; }; progressslider.onPress = function() { draggingslider = true; progressslider.startDrag(true, 61, progressslider._y, 243, progressslider._y); }; progressslider.onRelease = progressslider.onReleaseOutside=function () { progressslider.stopDrag(); playingsong.start(((progressslider._x- 61)/182)*playingsong.duration/1000, 0); playpause.gotoAndStop(1); playpause.playpausebutton.onPress = function() { toggleplaypause(); }; draggingslider = false; }; progressbar.onPress = function() { playingsong.start(((_xmouse- 61)/182)*playingsong.duration/1000, 0); playpause.gotoAndStop(1); playpause.playpausebutton.onPress = function() { toggleplaypause(); }; }; volumebar.onPress = function() { draggingvolmeslider = true; volumebar.volumeslider.startDrag(true, 0, volumebar.volumeslider._y, 47, volumebar.volumeslider._y); }; volumebar.onRelease = volumebar.onReleaseOutside=function () { draggingvolmeslider = false; volumebar.volumeslider.stopDrag(); updatevolume(); }; function updatevolume() { playingsong.setVolume((volumebar.volumeslider._x/47)*100); } previoussong.onPress = function() { loadprevioussong(); }; function loadprevioussong() { var loadtrack = (curtrack-1)%(songs.length); if (loadtrack<0) { loadtrack = songs.length-1; } loadSong(loadtrack); [...]... }; function updateplaylistscroll() { playlistbox.playlistitemcontainer._y = -( (playlistscroller._y70)/1 01)* (playlistbox.playlistitemcontainer._height-149); } function visitswfspot() { getURL("http://www.swfspot.com", "_blank"); } var myMenu = new ContextMenu(); var menubezz = new ContextMenuItem("SWF Spot Mp3 Player" , visitswfspot); myMenu.customItems.push(menubezz); var menuplaypause = new ContextMenuItem("Play... myMenu.hideBuiltInItems(); _root.menu = myMenu; Tạo thêm một Layer nữa, tại Frame 2 các bạn ấn F6 Nút bắt đầu và tạm ngưng bài hát (Play/Pause) : - Sau khi vẽ xong các bạn convert sang movie clip và điều chỉnh như sau : - Các bạn đặt Instance Name cho nó là playpause và nhấp chuột phải vào nó rồi chọn Edit Tại Frame 1 các bạn convert nó sang Button và đặt Instance Name là playpausebutton - Tại Frame 2 các bạn ấn F7 sau... các bạn ấn F7 sau đó vẽ lại hình chiếc nút như sau : - Vẫn convert sang Button và đặt Instance Name là playpausebutton - Cuối cùng, các bạn đưa đoạn mã sau vào mỗi Frame stop(); Nút lùi lại bài hát trước (Previous Button) : - Sau khi vẽ xong các bạn convert sang Button các bạn đặt Instance Name cho nó là previoussong Nút bỏ qua bài hát (Next Button) : - Vẽ giống như nút lùi lại bài hát Vẫn convert sang... playlistscroller._y = Math.max(70, playlistscroller._y-10); updateplaylistscroll(); }; playlistscrolldown.onPress = function() { playlistscroller._y = Math.min(171, playlistscroller._y+10); updateplaylistscroll(); }; var mouseListener:Object = new Object(); mouseListener.onMouseWheel = function(delta:Number) { playlistscroller._y = Math.min(171, Math.max(70, playlistscroller._y-delta)); updateplaylistscroll(); }; Mouse.addListener(mouseListener);...} nextsong.onPress = function() { loadnextsong(); }; function loadnextsong() { var loadtrack = (curtrack +1)% (songs.length); loadSong(loadtrack); } playlistscroller.onPress = function() { draggingplaylistscroller = true; playlistscroller.startDrag(true, 283, 70, 283, 1 71); }; playlistscroller.onRelease = playlistscroller.onReleaseOutside=function () { draggingplaylistscroller = false; playlistscroller.stopDrag();... Instance Name cho nó là previoussong Nút bỏ qua bài hát (Next Button) : - Vẽ giống như nút lùi lại bài hát Vẫn convert sang Button và đặt Instance Name cho nó là nextsong Thanh âm lượng (Volume Bar) : - Các bạn vẽ một hình chữ nhật như sau rồi convert sang movie clip: . Flash - Tạo một máy Mp3 Player chạy cùng với XML (phần 1) Phần các chi tiết trên Mp3 Player : Tạo một file thực hành mới với kích thước tùy ý . Sau đó, tại. _root.playlist = "playlist .xml& quot;; } var playlistXml :XML = new XML( ); playlistXml.ignoreWhite = true; playlistXml.load(_root.playlist); playlistXml.onLoad = function() { . playlistbox.playlistitemcontainer._y = -( (playlistscroller._y- 70)/1 01)* (playlistbox.playlistitemcontainer._height-149); } function visitswfspot() { getURL("http://www.swfspot.com", "_blank");