![]() |
|
||||||||||
|
|||||
|
Регистрация: Nov 2006
Сообщений: 27
|
как сделать кнопки play stop pause? (воспроизведение музыки из xml файла)
|
|
|||||
|
www.gotoAndLearn.com
Здесь есть по этой теме уроки.
__________________
Всем товарищ и друг |
|
|||||
|
Регистрация: Nov 2006
Сообщений: 27
|
El Scream:
ты сам этот урок пробовал?.. я просто сделал всё как там показано, выдаёт ошибку в финальной стадии, когда делаю test movie.... пишет Error opening URL "file:///C|/1/undefined" |
|
|||||
|
Регистрация: Nov 2006
Сообщений: 27
|
есть такой скрипт:
import mx.utils.Delegate;
import mx.controls.*;
import mx.managers.PopUpManager;
import mx.containers.Window;
var xml_path:String="playlist/playlist.xml";
var xml:XML=new XML();
var playListArray:Array=new Array();
var sound:Sound=new Sound();
var loadingIntervalID:Number=0;
var playingIntervalID:Number=0;
var currentFileName:String=""
xml.ignoreWhite=true;
xml.onLoad=Delegate.create(this,onPlayListLoad);
sound.onLoad=Delegate.create(this,onSoundLoad);
sound.onID3=Delegate.create(this,onSoundID3);
sound.onSoundComplete=Delegate.create(this,onSoundComplete);
playList.addEventListener("change", Delegate.create(this,onPlayListChange));
seekBar.addEventListener("sliderChanged", Delegate.create(this,onSeekChange));
volumeBar.addEventListener("sliderChanged", Delegate.create(this,onVolumeChange));
fileInfoButton.addEventListener("click", Delegate.create(this,onSettingsButtonClick));
stopAll();
xml.load(xml_path);
initStyles();
function onSettingsButtonClick():Void{
var win:MovieClip = PopUpManager.createPopUp(this, Window, true);
win.contentPath="dataGridClip"
win.addEventListener("click", Delegate.create(this,onWindowClick));
win.addEventListener("complete", Delegate.create(this,onWindowComplite));
win.closeButton=true;
}
function onWindowComplite(eventObject:Object):Void{
var win:MovieClip=eventObject.target;
win.title="Информация о тегах ID3 "+currentFileName;
var dataGrid:DataGrid=win.content.createClassObject(DataGrid, "dataGrid", win.content.getNextHighestDepth(), {columnNames:["name", "score"]});
dataGrid.setSize(380, 120);
for (var i in sound.id3){
var item_obj:Object = {tagName:i, value:sound.id3[i]};
dataGrid.addItem(item_obj)
};
win.setSize(win.content._width+8, win.content._height + 35);
win.move(10, 5);
}
function onWindowClick(eventObject:Object):Void{
eventObject.target.deletePopUp()
}
function onVolumeChange():Void{
sound.setVolume(volumeBar.valueActual)
}
function onSeekChange():Void{
sound.stop();
sound.start(seekBar.valueActual)
}
function onPlayListChange(evt_obj:Object):Void {
currentFileName=playListArray[evt_obj.target.selectedIndex].name;
sound.loadSound(playListArray[evt_obj.target.selectedIndex].path, false);
loadingIntervalID=setInterval(Delegate.create(this,checkLoading),100);
}
function onSoundID3():Void{
}
function onSoundComplete():Void{
sound.start();
}
function onSoundLoad(success:Boolean):Void{
stopAll();
if(success){
sound.start();
setInfoText("Файл "+currentFileName+"успешно загружен");
playingIntervalID=setInterval(Delegate.create(this,checkPlaying),10);
fileInfoButton.enabled=true;
}else{
Alert.show("Ошибка: невозможно загрузить файл.", "Внимание ошибка", Alert.OK );
setInfoText("Ошибка при загрузке файла.");
}
}
function onPlayListLoad(success:Boolean):Void{
playListArray=new Array();
playList.removeAll();
if(success){
for(var i:Number=0;i<xml.firstChild.childNodes.length;i++){
var node:XMLNode=xml.firstChild.childNodes[i];
playListArray.push({name:node.attributes.name, path: node.attributes.path});
playList.addItemAt(i,{label:node.attributes.name, path: node.attributes.path});
}
}else{
Alert.show("Ошибка: невозможно загрузить Play list по пути: "+xml_path, "Внимание ошибка", Alert.OK );
setInfoText("Ошибка при загрузке Play list'a");
stopAll();
};
setInfoText("Play list загружен успешно");
};
function initStyles():Void{
_global.style.setStyle("themeColor", "haloOrange");
playList.multipleSelection = false;
seekBar.trayClip="seekBarTray";
seekBar.min = 0;
seekBar.valueActual = 0;
volumeBar.trayClip="volumeBarTray"
volumeBar.min = 0;
volumeBar.max = 100;
volumeBar.valueActual = 100;
};
function setInfoText(information:String):Void{
infoText.text=information;
}
function checkPlaying():Void{
var seconds:Number=Math.round(sound.position/1000);
var minutes:Number = Math.floor(seconds/60);
var textSeconds:String = (seconds<10) ? "0"+String(seconds) : String(seconds);
var textMinutes:String = (minutes<10) ? "0"+String(minutes) : String(minutes);
if(seconds>60){
textSeconds=String(seconds%60);
}
seekBar.max=(sound.duration/1000);
seekBar.valueActual = seconds;
timeText.text=textMinutes+ ":"+textSeconds;
setInfoText(currentFileName+" ("+textMinutes+ ":"+textSeconds+")");
}
function checkLoading():Void{
var loaded:Number=100*Math.round(sound.getBytesLoaded()/sound.getBytesLoaded())
if(!isNaN(loaded)){
setInfoText(currentFileName+" : " +loaded+ " %");
}else{
stopAll();
};
if(sound.getBytesLoaded()==sound.getBytesLoaded()){
clearInterval(loadingIntervalID);
}
}
function stopAll():Void{
timeText.text="00:00"
setInfoText("");
clearInterval(loadingIntervalID);
clearInterval(playingIntervalID);
fileInfoButton.enabled=false;
seekBar.valueActual = 0;
}
![]() Последний раз редактировалось JuNkitsME; 18.11.2006 в 17:01. |
|
|||||
|
fr есть такой исходник???
__________________
MAoz |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:47. |
|
|
« Предыдущая тема | Следующая тема » |
|
|