getreidemuehlen
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 23.07.2008, 15:59   #1
TP-Veteran
 
Benutzerbild von AnnaStesia
 
Registriert seit: Mar 2002
Ort: Göppingen
AnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKE

Sound Loop Player - geht in Flash Player, aber nicht in Webseite


Hallo,

also ich habe einen Loop Player, der, wenn ich ihn in Flash teste, wunderbar funktioniert, aber sobald ich ihn auf einer HTML-Seite einbette, im Browser nicht mehr tut, d.h. die Sounds werden nicht abgespielt (nur in Opera funktioniert es, FF / IE7 nicht). Version ist Flash MX 2004. Zu irgendeinem Zeitpunkt hatte ich den Loop Player als Flash 6 File exportiert und da ging es auch in IE7, aber nicht in Firefox.
So bette ich ihn ein:
Code:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="176" height="50" id="loops" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="loops.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="loops.swf" quality="high" bgcolor="#ffffff" width="176" height="50" name="loops" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
Die abzuspielenden Sounds sind kleine MP3-Loops, die über ein XML-File reingeladen werden, und wie gesagt, im Flash Player an sich geht's, hat also nichts mit falschen Pfaden o. Ä. zu tun.
Hat vielleicht jemand dazu eine Idee?

//update: Oh welch Peinlichkeit, im IE7 war aus irgendeinem Grund noch Flash Player 6 installiert, nach Update auf Flash Player 9 geht es dort nun. Bleibt noch FF, der sich immer noch sträubt, die Sounds abzuspielen.

Grüße, AnnaStesia
__________________
Ich weiss es doch auch nicht.
» www.sightdesign.de «

Geändert von AnnaStesia (23.07.2008 um 16:49 Uhr).
AnnaStesia ist offline   Mit Zitat antworten


Alt 23.07.2008, 17:23   #2
TP-Moderator
 
Benutzerbild von Wanderratte
 
Registriert seit: Mar 2002
Wanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKE
Hallo,

also ich kann beim Einbinden keinen fehler sehen, kannst du mal den Link posten ?
__________________
Gruß

Wanderratte
Gebildet ist,
wer weiß,
wo er findet,
was er nicht weiß.

Eurokicker
Home
Amazon Wunschzettel
Wanderratte ist offline   Mit Zitat antworten
Alt 23.07.2008, 18:22   #3
TP-Veteran
 
Benutzerbild von AnnaStesia
 
Registriert seit: Mar 2002
Ort: Göppingen
AnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKE
Hallo Wanderratte,

hmmm, ich habe in FF das Flash Plugin neu installiert, und siehe da... Problem behoben, Sorry für die Störung.
Aber wo ich Dich gerade dran habe...
Jetzt habe ich nur noch das Problem, dass die Musik nicht richtig loopt, und meine Google Recherchen deuten darauf hin, dass dies an den externen MP3-Files liegt (lustigerweise kann selbst WinAmp die MP3-Dateien nicht sauber loopen, die entsprechenden .wavs schon, scheint also wirklich am Format zu liegen). Kann man das irgendwie lösen? Einfach die .wavs reinzuladen, scheint nicht zu gehen, wäre auch Ladezeittechnisch nicht die optimalste Lösung... Also meine Frage, gibt es irgendeinen "Kniff", Flash das saubere Loopen externer MP3-Files beizubringen?

Danke & Gruß, AnnaStesia
__________________
Ich weiss es doch auch nicht.
» www.sightdesign.de «
AnnaStesia ist offline   Mit Zitat antworten
Alt 24.07.2008, 23:55   #4
TP-Veteran
 
Benutzerbild von AnnaStesia
 
Registriert seit: Mar 2002
Ort: Göppingen
AnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKE
Hallo nochmal,

also nach intensivem Googlen bin ich zu der Gewissheit gelangt, dass das mit dem sauberen Loopen nicht gehen wird. Aaaaaber eine kleine Annäherung, sprich, den Loop ein klein wenig später beginnen und etwas früher enden zu lassen, das wär auch schon eine Hilfe.
Hier mal mein Code:
Code:
var song = new Array();
var loaded = 0;
var amt = 0;
var current = 0;
var isplaying = false;

var xm = new XML();
xm.ignoreWhite = true;
xm.load("sound-loops/list.xml");
xm.onLoad = function(success) {
	if(success)
	{
		parse(this);
	}
}

function parse(obj) {
	amt = obj.childNodes.length;
	for (var i=0; i<obj.childNodes.length; i++) {
		song[i] = this.createEmptyMovieClip("song" + i, this.getNextHighestDepth());
		song[i].src = obj.childNodes[i].attributes.src;
		song[i].title = obj.childNodes[i].attributes.title;
		song[i].snd = new Sound(song[i]);
		
		song[i].snd.onSoundComplete = function() {
			if (isplaying) this.start();
		}
		song[i].snd.onLoad = function() {
			nextOne();
		}
		song[i].snd.loadSound(song[i].src, false);
	}
}

function nextOne() {
	loaded ++;
	display.text = "loaded " + loaded + " von " + amt;
	if (loaded >= song.length) init(0);
}

function init(n) {
	display.text = (n + 1) + " von " + song.length + ": " + song[n].title;
	if (isplaying) playSound();
}

function playSound() {
	isplaying = true;
	song[current].snd.start();	
}

function stopSound() {
	isplaying = false;
	song[current].snd.stop();
}

function switchSound(d) {
	song[current].snd.stop();
	current += d;
	if (current < 0) current = song.length - 1;
	if (current > song.length - 1) current = 0;
	init(current);
}
Im fett markierten Bereich liegt der Hase begraben, das später beginnen ist ja kein Problem, aber das früher aufhören schon. Anstatt onSoundComplete könnte man die position Eigenschaft des Sounds auslesen und sobald duration Eigenschaft - Betrag x erreicht ist, das start() auslösen. Wäre so meine Idee, nur wie mache ich das?

Grüße, AnnaStesia
__________________
Ich weiss es doch auch nicht.
» www.sightdesign.de «
AnnaStesia ist offline   Mit Zitat antworten
Alt 25.07.2008, 00:32   #5
TP-Moderator
 
Benutzerbild von Wanderratte
 
Registriert seit: Mar 2002
Wanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKE
*ups*

darum wollte ich mich doch gestern noch kümmern *ascheübermeinhaupt*
Ich setze mich morgen dran, weißt du wie lang die mp3 ist bzw. nach wivielen sek er zum Anfang wieder springen muss ?
__________________
Gruß

Wanderratte
Gebildet ist,
wer weiß,
wo er findet,
was er nicht weiß.

Eurokicker
Home
Amazon Wunschzettel
Wanderratte ist offline   Mit Zitat antworten
Alt 25.07.2008, 01:23   #6
TP-Veteran
 
Benutzerbild von AnnaStesia
 
Registriert seit: Mar 2002
Ort: Göppingen
AnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKE
Nur keine Hektik Nein, ich weiss nicht, wie lang das MP3 ist, der Grund, warum ich das gerne als ext. Files haben will, ist ja gerade, damit ich das ändern kann, ohne das Flash anzufassen. Es gibt aber die Eigenschaft "duration", damit müsste sich imho was anstellen lassen.
Habe übrigens nur Flash MX 2004.
__________________
Ich weiss es doch auch nicht.
» www.sightdesign.de «
AnnaStesia ist offline   Mit Zitat antworten
Alt 25.07.2008, 01:54   #7
TP-Moderator
 
Benutzerbild von Wanderratte
 
Registriert seit: Mar 2002
Wanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKE
Hallo,

mit duration liest du die aktuell abgespielte Zeit aus.
Bei mp3s sind die Metatags leider erst am Ende verfügbar, deswegen fragte ich nach der eventuellen Spielzeit.
__________________
Gruß

Wanderratte
Gebildet ist,
wer weiß,
wo er findet,
was er nicht weiß.

Eurokicker
Home
Amazon Wunschzettel
Wanderratte ist offline   Mit Zitat antworten
Alt 25.07.2008, 12:54   #8
TP-Moderator
 
Benutzerbild von Wanderratte
 
Registriert seit: Mar 2002
Wanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKE
Hallo,

so Theoretisch müsste es so gehen.
PHP-Code:
var xm = new XML();
var 
loopTimer 0;
//Achtung geht erst nach dem ersten Durchlauf von jedem Song !!!
//hier gibst du  in Millisekunden an, wann der Sound vor dem Ende aufhören soll und wieder neu beginnt.
var loopEnde 1000;
//hier gibst du in Sekunden an, wann der Sound beginnen soll.
var startSound 1;
//---------------------------------------------
xm.ignoreWhite true;
xm.load("sound-loops/list.xml");
xm.onLoad = function(success) {
    if (
success) {
        
parse(this);
    }
};

function 
parse(obj) {
    
amt obj.childNodes.length;

    for (var 
0i<obj.childNodes.lengthi++) {
        
song[i] = this.createEmptyMovieClip("song"+ithis.getNextHighestDepth());
        
song[i].src obj.childNodes[i].attributes.src;
        
song[i].title obj.childNodes[i].attributes.title;
        
song[i].snd = new Sound(song[i]);

        
song[i].snd.onSoundComplete = function() {
            if (
isplaying) {
                
loopTimer this.duration;
                
//hier bestimmst du wann, wo der Sound beginnen soll in Sekunden.
                
this.start(startSound);
                
controller(this);
            }
        };
        
song[i].snd.onLoad = function() {
            
nextOne();
        };
        
song[i].snd.loadSound(song[i].src,false);
    }
}
function 
controller(soObj) {
    var 
obj _root.createEmptyMovieClip("loop_controler",100000);
    
obj.onEnterFrame = function() {
        if (
loopTimer>&& loopTimer-loopEnde>=soObj.duration) {
            
this.start(startSound);
        }
    };
}
function 
nextOne() {
    
loaded++;
    
display.text "loaded "+loaded+" von "+amt;
    if (
loaded>=song.length) {
        
init(0);
    }
}

function 
init(n) {
    
display.text = (n+1)+" von "+song.length+": "+song[n].title;
    if (
isplaying) {
        
playSound();
    }
}

function 
playSound() {
    
loopTimer 0;
    
isplaying true;
    
song[current].snd.start();
}

function 
stopSound() {
    
isplaying false;
    
song[current].snd.stop();
}

function 
switchSound(d) {
    
song[current].snd.stop();
    
current += d;
    if (
current<0) {
        
current song.length-1;
    }
    if (
current>song.length-1) {
        
current 0;
    }
    
init(current);

sollte es nicht gehen, gibst du mir bitte deine fla, samt xml.
__________________
Gruß

Wanderratte
Gebildet ist,
wer weiß,
wo er findet,
was er nicht weiß.

Eurokicker
Home
Amazon Wunschzettel
Wanderratte ist offline   Mit Zitat antworten
Alt 25.07.2008, 14:19   #9
TP-Veteran
 
Benutzerbild von AnnaStesia
 
Registriert seit: Mar 2002
Ort: Göppingen
AnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKE
Hallo Ralf,
anbei die gewünschte Lieferung
Bei loopEnde kann ich eingeben, was ich will, es tut sich nix, was meiner Meinung daran liegt, dass die controller Funktion erst bei onSoundComplete aufgerufen wird, wo's ja schon zu spät ist, und ich weiss nicht, wie man den controller vorher zum Tüddeln bringen kann (optimalerweise bei playSound(), der ganze Funktionsaufruf bei onSoundComplete sollte ja eigentlich obsolet werden und der controller das Loopen übernehmen).

Vielen Dank schon mal bis hierher! Liebe Grüße, Christine
Angehängte Dateien
Dateityp: zip loop_player1.zip (404,2 KB, 11x aufgerufen)
__________________
Ich weiss es doch auch nicht.
» www.sightdesign.de «
AnnaStesia ist offline   Mit Zitat antworten
Alt 25.07.2008, 14:41   #10
TP-Veteran
 
Benutzerbild von AnnaStesia
 
Registriert seit: Mar 2002
Ort: Göppingen
AnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKEAnnaStesia ist ein richtiges Arbeitstier - DANKE
Ok., kaum schrub ich's, kam mir die Erleuchtung, also so tüddelt's jetzt wunderbar, nochmals Danke, mir fehlte ja hauptsächlich das Basiswissen, wie ich so einen Controller mitrattern lasse, und da hast Du mich eindeutig auf den richtigen Trichter gebracht:
Code:
var xm = new XML();
//Achtung geht erst nach dem ersten Durchlauf von jedem Song !!!
//hier gibst du  in Millisekunden an, wann der Sound vor dem Ende aufhören soll und wieder neu beginnt.
var loopEnde = 60;
//hier gibst du in Sekunden an, wann der Sound beginnen soll.
var startSound = 0.025;
//---------------------------------------------
xm.ignoreWhite = true;
xm.load("list.xml");
xm.onLoad = function(success) {
    if (success) {
        parse(this);
    }
};

function parse(obj) {
    amt = obj.childNodes.length;

    for (var i = 0; i<obj.childNodes.length; i++) {
        song[i] = this.createEmptyMovieClip("song"+i, this.getNextHighestDepth());
        song[i].src = obj.childNodes[i].attributes.src;
        song[i].title = obj.childNodes[i].attributes.title;
        song[i].snd = new Sound(song[i]);        
        song[i].snd.onLoad = function() {
            nextOne();
        };
        song[i].snd.loadSound(song[i].src,false);
    }
}
function controller(soObj) {
    var obj = _root.createEmptyMovieClip("loop_controler",100000);
    obj.onEnterFrame = function() {
		var ende = soObj.duration-loopEnde;
        if (soObj.position >= ende) {
			stopSound();
            playSound();
        }
    };
}
function nextOne() {
    loaded++;
    display.text = "loaded "+loaded+" von "+amt;
    if (loaded>=song.length) {
        init(0);
    }
}

function init(n) {
    display.text = (n+1)+" von "+song.length+": "+song[n].title;
    if (isplaying) {
        playSound();
    }
}

function playSound() {
    isplaying = true;
    song[current].snd.start(startSound);
	controller(song[current].snd);
}

function stopSound() {
    isplaying = false;
    song[current].snd.stop();
}

function switchSound(d) {
    song[current].snd.stop();
    current += d;
    if (current<0) {
        current = song.length-1;
    }
    if (current>song.length-1) {
        current = 0;
    }
    init(current);
}
__________________
Ich weiss es doch auch nicht.
» www.sightdesign.de «
AnnaStesia ist offline   Mit Zitat antworten
Alt 25.07.2008, 15:20   #11
TP-Moderator
 
Benutzerbild von Wanderratte
 
Registriert seit: Mar 2002
Wanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKE
Hallo,
na das kommt daher wenn man es selber nicht testet.
Aber du hast es hinbekommen und das ist das wichtigste.
__________________
Gruß

Wanderratte
Gebildet ist,
wer weiß,
wo er findet,
was er nicht weiß.

Eurokicker
Home
Amazon Wunschzettel
Wanderratte ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Flash
Sound Loop Player - geht in Flash Player, aber nicht in Webseite Sound Loop Player - geht in Flash Player, aber nicht in Webseite
« Das erstemal mit Flash eine Homepage erstellen. Wie fange ich an ? | Für Kurzfristige: winziges Skript »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

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

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Webseite mit rahmenlosen Flash Movie Player Christiane76 Webdesign & Co. 1 01.04.2008 21:38
Frage zu Flash-Player (Shockwave-Player) Update! Babaji Flash 8 7 24.03.2006 00:08
Barrierefreier Sound-Player für Flash-MX gesucht heddesheimer Flash 2 28.10.2005 13:27