Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-06-2004, 19:42   #1 (permalink)
Neuer User
 
Benutzerbild von dimension
 
Registriert seit: Apr 2004
Ort: Wien
Beiträge: 886
counter + tick-sound ?

hallo!
ich habe einen counter, der zb von 0-100 raufzählt und dabei
immer schneller wird (am anfang jede sek, zum schluss fast jede milisekunde)

jetz möchte ich immer wenn sich der counter um 1 erhöht einen ganz kurzen tick-sound abspielen mit attachSound
s1= new Sound();
s1.attachSound("...");
s1.start();
das funktioniert auch super, er spielt den sound immer ab

nur jetzt das problem:
er muss ja dann den sound jede milisekunde abspielen weil der counter dann so schnell "hinaufrennt", nur das problem ist anscheinend schaffen dass viele computer nicht, weil der flashplayer (bzw. der browser) meistens einen unerwartetenen fehler meldet...

auf meinem pc (2,4ghz) funktionierts problemlos, bei meinem nb (866mhz) nicht, da meldet er immer nen fehler...
aber ich möchte dass er so schnell hinaufzählt, und den sound bräuchte ich auch, kann mir jemand helfen?

falls es hilft der code:
PHP-Code:
 counter=function(ref,pintV){
    
sIntV=1000
    maxN
=100
        
//100 zahlen+gleichmäßig intervall verringern?
        //macht 10ms die jedes intervall kürzer läuft
    
diff=sIntV/maxN  //10ms
    
n++
    
clearInterval(ref.intV)
        
//kein negatives intervall zulassen
    
if(pIntV>diffpintV-=diff
    
if(n-1<maxN){
                 
//führende nullen
        
var m="000"+n.toString()
        var 
l=m.length
                 
//überflüssige nullen kürzen
        
var m=m.substring(l-3,l)
                 
count_txt.text=m
                 ref
.intV=setInterval(ref.counter,pIntV,ref,pIntV)
    }
}

//setup
count_txt.text="000"
pIntV=1000
intV
=setInterval(this.counter,pIntV,this,pIntV
(thread zum counter: erneute probleme mit setInterval danke an deluxe und atothek!)

danke im voraus!
__________________
"Ein Computer ist eine Maschine, mit der man fast so schnell schreiben wie denken kann." (Umberto Eco)
dimension ist offline   Mit Zitat antworten
Alt 16-06-2004, 08:43   #2 (permalink)
Neuer User
 
Benutzerbild von dimension
 
Registriert seit: Apr 2004
Ort: Wien
Beiträge: 886
ich habs jetz auf mehreren computern getestet
und es liegt definitiv nur am sound, bei schlechteren rechnern meldet
er immer nen fehler und hängt sich auf,
ohne sound nicht

ich glaube das könnte sein, weil der sound eben jede millisec. abgespielt wird,
und wenn der eine sound noch nicht fertig abgespielt ist, der nächste
schon abgespielt wird usw... und sich überlagern
und das schaffen anscheinend viele rechner nicht...

aber irgendwie muss das doch gehn,
weil ich möcht schon dass der ticksound dann so raufrattert?

hat jemand eine Ahnung wie das gehn könnte/kann mir jemand
vielleicht helfen?

danke im voraus
__________________
"Ein Computer ist eine Maschine, mit der man fast so schnell schreiben wie denken kann." (Umberto Eco)
dimension ist offline   Mit Zitat antworten
Alt 16-06-2004, 08:53   #3 (permalink)
a.k.a maddin79
 
Benutzerbild von madflanderz
 
Registriert seit: Jul 2003
Ort: berlin f-hain
Beiträge: 1.693
PHP-Code:

s1
= new Sound();
s1.attachSound("...");


s1.onSoundComplete = function () {
    
_root.sound_is_playing false;
    }

counter=function(ref,pintV){ 
    
        
// erst wenn der vorherige Sound fertig ist wird neu gestartet
    
if (_root.sound_is_playing == false) {
        
_root.sound_is_playing true;
        
s1.start();
        }
    
    
sIntV=1000 
    maxN
=100 
    
//100 zahlen+gleichmäßig intervall verringern? 
    //macht 10ms die jedes intervall kürzer läuft 
    
diff=sIntV/maxN  //10ms 
    
n++ 
    
clearInterval(ref.intV
    
//kein negatives intervall zulassen 
    
if(pIntV>diffpintV-=diff 
    
if(n-1<maxN){ 
         
//führende nullen 
    
var m="000"+n.toString() 
    var 
l=m.length 
         
//überflüssige nullen kürzen 
    
var m=m.substring(l-3,l
         
count_txt.text=
         ref
.intV=setInterval(ref.counter,pIntV,ref,pIntV
    } 


//setup 
count_txt.text="000" 
pIntV=1000 
intV
=setInterval(this.counter,pIntV,this,pIntV
hab ich zwar nich getestet aber müßte klappen. er spielt quasi immer erst den nächsten sound ab, wenn der vorherige fertig ist und das onSoundComplete-Event aufgetreten ist. Die Maximale Geschwindigkeit hängt dabei von der Länge des verwendeten Sounds ab.
Wenn dein Sound z.B. 100ms lang ist wird der sound auch nicht öfter als 10 mal pro sekunde der Sound abgespielt. Bei 50ms halt 20 mal.


Das sind aber nur rundungswerte, weil der player intern "nur" zeitfenster von 43ms abtastet. wenn der sound nun z.B. 5ms lang ist wird trotzdem erst nach 43ms das onSoundComplete-Event ausgelöst. daraus folgt nun, das dein sound nie mehr als 20mal abgespielt werden wird - egal wie kurz er ist.

Geändert von maddin79 (16-06-2004 um 09:00 Uhr)
madflanderz ist offline   Mit Zitat antworten
Alt 16-06-2004, 09:10   #4 (permalink)
Neuer User
 
Benutzerbild von dimension
 
Registriert seit: Apr 2004
Ort: Wien
Beiträge: 886
danke, dass werd ich gleich mal ausprobieren

danke vielmals!

gruss
dimension
__________________
"Ein Computer ist eine Maschine, mit der man fast so schnell schreiben wie denken kann." (Umberto Eco)
dimension ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 01:34 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele