[As3.0] Pauzeren werkt niet

Status
Niet open voor verdere reacties.

slabbetje

Gebruiker
Lid geworden
5 mei 2007
Berichten
290
Ik ben nu al een tijdje bezig met mn jukebox en ik ben nu bij de pauze functie beland.
Het pauzeren werkt zelf wel alleen wanneer ik op de stop button druk zou hij zijn positie weer op 0 moeten zetten wat hij niet doet.
Kan iemand mij vertellen waar dit aan ligt want ik vind het een beetje vreemd.
Als ik hem bij stop trace word hij wel 0 en bij play dan gaat hij gewoon lekker door.

Dit is een opdracht voor school en ik heb weinig ervaring nog met flash dus help me alleen op weg en ga niet het hele script vertellen want dan leer ik er zelf niks van :p

Code:
import flash.display.Loader;
import flash.net.URLRequest;

var frame:content_main = new content_main;
var kanaal:SoundChannel = new SoundChannel();
var isPlaying:Boolean = false;
var nowPlaying;
var nowPosition:int = 0;
var ba:ByteArray = new ByteArray();
var loader:URLLoader = new URLLoader();

loader.addEventListener(Event.COMPLETE, onLoaded);
frame.lb.addEventListener(Event.CHANGE, muziekChange);
frame.btn_stop.addEventListener(MouseEvent.CLICK, stopMuziek);
frame.btn_start.addEventListener(MouseEvent.CLICK, startMuziek);
addEventListener(Event.ENTER_FRAME, spectrum);

addChild(frame);

/*
**Hiermee Positioneer je de buttons
*/
frame.btn_stop.x = 35;
frame.btn_stop.y = 228;

frame.btn_start.x = 10;
frame.btn_start.y = 228;

/*
**Hiermee verander je de muziek + Album image
*/
function muziekChange(e:Event):void {

	//trace(lb.selectedItem.data);
	SoundMixer.stopAll();
	var geluid:Sound = new Sound();
	geluid.load(new URLRequest(frame.lb.selectedItem.data));
	kanaal = geluid.play();
	nowPlaying = frame.lb.selectedItem.data;
	isPlaying = true;
}

/*
**Hier is de XML ingeladen
*/
var xml:XML;

function onLoaded(e:Event):void {
	xml = new XML(e.target.data);
	var il:XMLList = xml.alles.item;
	for (var i:uint=0; i<il.length(); i++) {
		frame.lb.addItem({data:il.link.text()[i],
		label:il.title.text()[i]});
	}
	nowPlaying = il.link.text()[0];
}
/*
**Hier komt het geluids spectrum
*/
function spectrum(e:Event):void {
	SoundMixer.computeSpectrum(ba);
	nowPosition = kanaal.position;

	for (var i:uint=0; i<6; i++) {
		var num:Number = Math.floor(-ba.readFloat()*5 + 5);

		if (i == 1) {
			frame.spec1.scaleY = -num;
			frame.spec1.y = 245;
		}
		if (i == 2) {
			frame.spec2.scaleY = -num;
			frame.spec2.y = 245;
		}
		if (i == 3) {
			frame.spec3.scaleY = -num;
			frame.spec3.y = 245;
		}
		if (i == 4) {
			frame.spec4.scaleY = -num;
			frame.spec4.y = 245;
		}
		if (i == 5) {
			frame.spec5.scaleY = -num;
			frame.spec5.y = 245;
		} else {
		}
	}
}

/*
**Hier komt de Stop functie
*/
function stopMuziek(e:MouseEvent):void {
	if (isPlaying == true) {
		kanaal.stop();
		isPlaying = false;
		nowPosition = 0;
	} else {
	}
}

/*
**Hier komt de Start functie
*/
function startMuziek(e:MouseEvent):void {
	if (isPlaying == false) {
		var geluid:Sound = new Sound();
		geluid.load(new URLRequest(nowPlaying));
		kanaal = geluid.play(nowPosition);
		isPlaying = true;
	}
}

loader.load(new URLRequest("muziek.xml"));

Alvast bedankt,

Michael
 
maak een functie pause() en unpause().

zet in pause() iets als:
Code:
positie = geluid.position;
stopallsounds(); of geluid.stop();
isPlaying = false;

en in unpause():
Code:
var geluid:Sound = new Sound();
geluid.load(new URLRequest(nowPlaying));
kanaal = geluid.play(positie);

ik weet niet zeker of het zo werkt, maar het is te proberen, ik verwacht van wel!

succes, en post hier even of het lukt!

Gr. Robin
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan