Antworten auf deine Fragen:
Neues Thema erstellen

Animation zu Sound ausrichten

M

MedienStudent

Guest

Hallo,

ich möchte, dass eine Animation sekundengenau an einem im Hintergrund ablaufenden Sound ausgerichtet wird.
Bis jetzt ist es so, dass beim Aufrufen des Screens erstmal eine Animation ohne Sound abgespielt wird. Die habe ich mit der Timeline animiert. Wenn sie zu Ende ist, sieht sie so aus:

Ich stelle mir das so, dass immer wenn man den entsprechenden Teil des Songs(also Intro, Verse 1...) gerade hört, das entsprechende Rechteck hervortritt, sprich einfach ein bisschen größer wird. Das dürfte wohl nur mit Actionscript so machbar sein, wie genau weiß ich aber nicht. Könnt ihr mir da Tipps geben wie man das angehen könnte? Ich schätze mal irgendwie mit der Soundklasse und die Rechtecke in MCs konvertieren und mit der Tweenklasse dann irgendwas machen...
 
Zuletzt bearbeitet von einem Moderator:

M

MedienStudent

Guest

AW: Animation zu Sound ausrichten

Also irgendwas hat da mit dem Bild anhängen nicht geklappt. Ich versuche es jetzt nochmal.
 
Zuletzt bearbeitet von einem Moderator:

NORCIE

Nicht mehr ganz neu hier

AW: Animation zu Sound ausrichten

Mit diesem Programm habe ich leider keine Erfahrung.
Wäre es Premiere CS6 oder After Effekts, gäbe es Tutorials.
Gruß NORCIE
 

mwisniewski

Nicht mehr ganz neu hier

AW: Animation zu Sound ausrichten

Mit diesem Programm habe ich leider keine Erfahrung.
Wäre es Premiere CS6 oder After Effekts, gäbe es Tutorials.
Gruß NORCIE

Hallo Norcie, da klink ich mich mal eben ein ... hast Du da vielleicht mal bitte einen Link? Irgendwie bin ich da zu blöd zum Suchen ... ich möchte in After Effects auf einen fertigen Song ein Video passend machen ... also nicht nur schneiden, sondern auch mit Effekten unterlegen und und und ... ich finde da irgendwie nix ... hast Du da einen passenden Link?

Danke und sorry fürs OffTopic!
 

keul3

3dsMax | 3D-Contest

AW: Animation zu Sound ausrichten

Es geht rein theoretisch auch ohne AS, in dem du die Sounddatei importierst und auf die Stage packst, so kannst die Animatioen am Sounddiagramm ausrichten.
https://imageshack.com/i/b8emjij
Allerdings ist es 1. schwer zu erkennen wo sich welcher Musikabschnitt befindet und 2. relativ unflexible was die Framerate betrifft, wird diese nämlich im nachhinein geändert müssen auch die Animationen neu angepasst werden.

Deshalb würde ich AS zur Hilfe nehmen, welches dir hilft die Animationen zehntelsekundengenau zu timen. Das könnte in etwa folgendermaßen aussehen, du musst dann nur wissen zu welchem Zeitpunkt (in ms) die Animation (Label) starten soll.

Code:
var marks:Array = 	[	/*[Zeit in ms, labelName]*/
				   		[5000, "ani01"],
						[14000, "ani02"],
						[22000, "ani03"],
						[25000, "ani04"]
					];


var actMark:uint = 0;

stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);

var soundChannel:SoundChannel = mySound.play();


function enterFrameHandler(event:Event = null):void
{
	if (soundChannel.position >= marks[actMark][0])
	{
		myAnimationMC.gotoAndPlay(marks[actMark][1]);
		if (actMark < marks.length - 1)
		{
			actMark++;
		}
		else
		{
			trace("keine Soundmarkierungen mehr übrig")
			stage.removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
		}
	}
}
 
M

MedienStudent

Guest

AW: Animation zu Sound ausrichten

@keul3
Also mal zum Verständnis. Ich lege zuerst ein Array an, in dem ich Markierungen ("marks") speichere. Jeweils mit der Angabe von Millisekunden und Labelname (Name der Schlüsselbilder?). Dann eine Zählvariable "actMark".
Dann einen Eventlistener der die Methode enterFrameHandler aufruft, sobald das Schlüsselbild, indem dieser Code steht erreicht wird.
Danach eine SoundChannel-Objekt, das ich für die Wiedergabe brauche. MySound ist dann aber ein Sound-Objekt, das ich noch instantiieren muss oder?
In der Methode wird dann abgefragt, ob die Position an der die gerade spielende Datei ist, größer als die Position ist, die in dem ersten "Marker" des Arrays "marks" steht. Wenn dies der Fall ist, wird eine Animation abgespielt. Für was stehn die Zahlen 0 und 1 in den eckigen Klammern? Einmal bei der if-Bedingung und gleich darunter? Der Rest hat mit der Zählvariable zu tun, das ist klar. Und der Eventlistener wird dann noch entfernt. Heißt das, wenn ich nochmal auf diese Seite gehe (bei dem Gesamtprojekt handelt es sich um eine Homepage)ist der Eventlistener weg und die Animation wird dann nicht abgespielt?
 

keul3

3dsMax | 3D-Contest

AW: Animation zu Sound ausrichten

@keul3
Also mal zum Verständnis. Ich lege zuerst ein Array an, in dem ich Markierungen ("marks") speichere. Jeweils mit der Angabe von Millisekunden und Labelname (Name der Schlüsselbilder?). Dann eine Zählvariable "actMark".
Yep

Dann einen Eventlistener der die Methode enterFrameHandler aufruft, sobald das Schlüsselbild, indem dieser Code steht erreicht wird.
Nicht ganz. Der Handler wird bei jedem Frame aufgerufen, da spielen die Schlüsselbilder keine Rolle. Im Handler wird jedesmal gerpüft ob die bisher abgespielte Länge des Sounds über die angegebene Länge im Array hinaus geht. Aus diesem Grund ist es auch wichtig das Array aufsteigend im Bezug auf die Zeit aufzufüllen.

MySound ist dann aber ein Sound-Objekt, das ich noch instantiieren muss oder?
yep

In der Methode wird dann abgefragt, ob die Position an der die gerade spielende Datei ist, größer als die Position ist, die in dem ersten "Marker" des Arrays "marks" steht. Wenn dies der Fall ist, wird eine Animation abgespielt.
spielende Sounddatei, nur falls das nicht klar sein sollte.
Nicht unbedingt der erste Marker, am Anfang natürlich schon.

Für was stehn die Zahlen 0 und 1 in den eckigen Klammern? Einmal bei der if-Bedingung und gleich darunter?
Die erste Dimension also die erste eckige Klammer ist der Marker, in der 2ten befinden sich die Werte: 0 --> Zeit in ms, 1 --> Labelname

Und der Eventlistener wird dann noch entfernt. Heißt das, wenn ich nochmal auf diese Seite gehe (bei dem Gesamtprojekt handelt es sich um eine Homepage)ist der Eventlistener weg und die Animation wird dann nicht abgespielt?
Das hängt davon ab wie dein kompletter Aufbau ausschaut. Den EventListener kann man auch lassen, nur wäre es unnötig da keine Marker mehr in Sicht sind, außerdem würde er so wie das Skript ist, die letzte Animation immer wieder abspielen. Siehe das ganze eher als Gedankenspiel wie man die Aufgabenstellung lösen könnte.;)
Evtl könnte man auch Marker aus der m-p-3-Datei herauslesen, wenn das m-p-3-Format sowas unterstütz, was ich nicht weiß, Audiobearbeitung ist leider noch nicht so mein Ding.
 
Zuletzt bearbeitet:
M

MedienStudent

Guest

AW: Animation zu Sound ausrichten

Code:
var marks:Array =     [    /*[Zeit in ms, labelName]*/
                           [500, "ani01"],
                        [36700, "ani02"],
                        [73285, "ani03"],
                        [91571, "ani04"]
                        [128143, "ani05"]
                        [146429, "ani06"]
                    ];
                    
var currMark:int = 0;

stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);

var mySound:Sound = new Sound();
var soundChannel:SoundChannel = mySound.play();


function enterFrameHandler(event:Event = null):void
{    
    mySound.load(new URLRequest("Sounds/Beat-1"));
    mySound.play();
    if (soundChannel.position >= marks[currMark][0])
    {
        gotoAndPlay(marks[currMark][1]);
        if (currMark < marks.length - 1)
        {
            currMark++;
        }
        else
        {
            trace("keine Soundmarkierungen mehr übrig")
            stage.removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
        }
    }
}
Das ganze sieht jetzt so aus. Wenn ich die swf ausführe erhalte ich diesen Fehler:
ReferenceError: Error #1069: Eigenschaft ani05 für Number nicht gefunden und es ist kein Standardwert vorhanden.
at FlashProjekt2_fla::Animation_9/frame400()

Das ganze gestaltet sich als etwas schwierig, da läuft nämlich noch ein Soundloop im Hintergrund, der dann noch gestoppt werden muss und und und. Wäre es nicht auch möglich, die Sounddatei in die Timeline zu ziehen und daran die Animationen auszurichten?
 
Zuletzt bearbeitet von einem Moderator:

keul3

3dsMax | 3D-Contest

AW: Animation zu Sound ausrichten

... Wenn ich die swf ausführe erhalte ich diesen Fehler:
ReferenceError: Error #1069: Eigenschaft ani05 für Number nicht gefunden und es ist kein Standardwert vorhanden.
at FlashProjekt2_fla::Animation_9/frame400()
...
Dürfte an den fehlenden Kommas im marksArray liegen. Beim überfliegen ist mir noch aufgefallen dass sich
Code:
mySound.load(new URLRequest("Sounds/Beat-1"));
mySound.play();
im enterFrameHandler befinden, dies ist äußerst unglücklich, diese Befehle sollte vorher und dann auch nur einmal ausgeführt werden.

...
Das ganze gestaltet sich als etwas schwierig, da läuft nämlich noch ein Soundloop im Hintergrund, der dann noch gestoppt werden muss und und und. Wäre es nicht auch möglich, die Sounddatei in die Timeline zu ziehen und daran die Animationen auszurichten?
Ist wie bereits in meiner ersten Antwort erwähnt möglich, mMn halt nur etwas umständlicher als nötig.
 
M

MedienStudent

Guest

AW: Animation zu Sound ausrichten

Okay ich hab die zwei Zeilen aus dem enterFrameHandler rausgenommen und davor gepackt. Außerdem hab ich noch soundChannel = mySound.play() hingeschrieben. Ist glaub ich korrekter so.
Jetzt hagelt es mir folgende Fehler:
ArgumentError: Error #2068: Ungültiger Sound.
at flash.media::Sound/play()
at FlashProjekt2_fla::Animation_9/frame400()

TypeError: Error #1009: Der Zugriff auf eine Eigenschaft oder eine Methode eines null-Objektverweises ist nicht möglich.
at FlashProjekt2_fla::Animation_9/enterFrameHandler()
 
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

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.564
Beiträge
1.538.064
Mitglieder
67.487
Neuestes Mitglied
MichaelSEivy
Oben