Antworten auf deine Fragen:
Neues Thema erstellen

Sound beginnt beim Klick immer von vorn!

grizze

Nicht mehr ganz neu hier

Hallo zusammen,

ich möchte einen Song beim Klick abspielen, habe das per AS auch hinbekommen.Wenn ich jetzt aber immer wieder auf "Play" klicke, startet der Song ein weiteres Mal von vorne und überlagert sich..Verständlich ausgedrückt?!;)
Kurzum:

Ich möchte erreichen, wenn ich einmal "Play" drücke, daß der Song auch nur einmal gestartet wird und bei weiterem drücken nicht nochmal anfängt zu laufen!!!

Hier's mein Code:
var mySound:dossantos = new dossantos();
var channel:SoundChannel = new SoundChannel();
var pausePosition:int = 0;
var myLautstaerke:Number = 1;
var trans:SoundTransform = new SoundTransform(myLautstaerke,myLautstaerke);


function meinSoundPlay(event:MouseEvent):void {
if (Math.round(channel.position) == Math.round(mySound.length)) {
pausePosition = 0;
}
channel = mySound.play(pausePosition, 1,trans);
}

function meinSoundPause(event:MouseEvent):void {
pausePosition = channel.position;
channel.stop();
}

function meinVolumeSetLauter(event:MouseEvent):void {
if (myLautstaerke < 1) {
myLautstaerke += 0.1;
}
trans.volume = myLautstaerke;
}

function meinVolumeSetLeiser(event:MouseEvent):void {
if (myLautstaerke > 0) {
myLautstaerke -= 0.1;
}
trans.volume = myLautstaerke;
}

this.playbutton.addEventListener(MouseEvent.CLICK, meinSoundPlay);
this.pausebutton.addEventListener(MouseEvent.CLICK, meinSoundPause);
this.leiserbutton.addEventListener(MouseEvent.CLICK, meinVolumeSetLeiser);
this.lauterbutton.addEventListener(MouseEvent.CLICK, meinVolumeSetLauter);

Danke für eure Hilfe

Grizze
 

wernadette

Noch nicht viel geschrieben

AW: Sound beginnt beim Klick immer von vorn!

du könntest eine

var isPlaying:Boolean = false;

Variable zu deinen übrigen hinzufügen und diese dann in deiner Play Methode auf true setzen - und nur dann den mySound.play(pausePosition, 1,trans); Befehl ausführen wenn die Variable false ist...

bei der Pause Funktion und in der Play Funktion - dort wo du abfragst ob der Sound schon ganz durchgespielt ist -, müsste die Variable dann halt eben wieder auf false gesetzt werden...

hoffe das macht Sinn...
 

grizze

Nicht mehr ganz neu hier

AW: Sound beginnt beim Klick immer von vorn!

Könntest du das mal bitte oben eincoden?!Bin irgendwie zu blöd dafür...:schmoll:
 
A

ad86

Guest

AW: Sound beginnt beim Klick immer von vorn!

Hallo grizze,

Ich mach das mal für wernadette (ist hoffentlich ok)

var mySound:dossantos = new dossantos();
var channel:SoundChannel = new SoundChannel();
var pausePosition:int = 0;
var myLautstaerke:Number = 1;
var trans:SoundTransform = new SoundTransform(myLautstaerke,myLautstaerke);
var isPlaying:Boolean = false;

function meinSoundPlay(event:MouseEvent):void {
if (Math.round(channel.position) == Math.round(mySound.length)) {
pausePosition = 0;
}
if (!isPlaying){
channel = mySound.play(pausePosition, 1,trans);
}

}

function meinSoundPause(event:MouseEvent):void {
pausePosition = channel.position;
channel.stop();
isPlaying=false;
}

function meinVolumeSetLauter(event:MouseEvent):void {
if (myLautstaerke < 1) {
myLautstaerke += 0.1;
}
trans.volume = myLautstaerke;
}

function meinVolumeSetLeiser(event:MouseEvent):void {
if (myLautstaerke > 0) {
myLautstaerke -= 0.1;
}
trans.volume = myLautstaerke;
}

this.playbutton.addEventListener(MouseEvent.CLICK, meinSoundPlay);
this.pausebutton.addEventListener(MouseEvent.CLICK, meinSoundPause);
this.leiserbutton.addEventListener(MouseEvent.CLICK, meinVolumeSetLeiser);
this.lauterbutton.addEventListener(MouseEvent.CLICK, meinVolumeSetLauter);

Und ich würde die Deklarationen der Listener eher oben hinschreiben, als unter den Funktionen.
MFG ad86
 

wernadette

Noch nicht viel geschrieben

AW: Sound beginnt beim Klick immer von vorn!

danke fürs ergänzen ad86... ich glaub es fehlen noch zwei zeilen, wenns mich nicht täuscht... (in grün):

var mySound:dossantos = new dossantos();
var channel:SoundChannel = new SoundChannel();
var pausePosition:int = 0;
var myLautstaerke:Number = 1;
var trans:SoundTransform = new SoundTransform(myLautstaerke,myLautstaerke);
var isPlaying:Boolean = false;

function meinSoundPlay(event:MouseEvent):void {
if (Math.round(channel.position) == Math.round(mySound.length)) {
pausePosition = 0;

isPlaying = false;
}
if (!isPlaying){
channel = mySound.play(pausePosition, 1,trans);

isPlaying = true;
}

}

function meinSoundPause(event:MouseEvent):void {
pausePosition = channel.position;
channel.stop();
isPlaying=false;
}

function meinVolumeSetLauter(event:MouseEvent):void {
if (myLautstaerke < 1) {
myLautstaerke += 0.1;
}
trans.volume = myLautstaerke;
}

function meinVolumeSetLeiser(event:MouseEvent):void {
if (myLautstaerke > 0) {
myLautstaerke -= 0.1;
}
trans.volume = myLautstaerke;
}

this.playbutton.addEventListener(MouseEvent.CLICK, meinSoundPlay);
this.pausebutton.addEventListener(MouseEvent.CLICK , meinSoundPause);
this.leiserbutton.addEventListener(MouseEvent.CLIC K, meinVolumeSetLeiser);
this.lauterbutton.addEventListener(MouseEvent.CLIC K, meinVolumeSetLauter);

 

grizze

Nicht mehr ganz neu hier

AW: Sound beginnt beim Klick immer von vorn!

Ja Suuuuuuupi:D

Jetzt haut's hin...Vielen Dank euch beiden!!!!

Gruß

Grizze
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.616
Beiträge
1.538.358
Mitglieder
67.536
Neuestes Mitglied
QuestionMark
Oben