Bezeichnung
InsertSample -- fügt ein Sample in ein anderes Sample ein (V5.0)
Übersicht
InsertSample(src, dst, pos[, len, table])
Beschreibung
Dieser Befehl kann verwendet werden, um die in len angegebenen PCM-Daten des Samples src an der Position pos im Sample dst einzufügen. Wenn das optionale Argument len nicht angegeben ist, wird das gesamte Sample in die in pos angegebene Position eingefügt werden. Wenn die beiden Samples nicht das gleiche Format verwenden, wird dieser Befehl automatisch eine geeignete Umwandlung der Audiodaten vornehmen, so dass die Sampletiefe, das Kanallayout und die Abtastrate der beiden Samples passen.

Mit dem optionalen Argument table können Sie erweiterte Optionen konfigurieren. Die folgenden Tags werden derzeit erkannt:

Start, End:
Mit diesen beiden Tags können Sie einen Bereich in der Quelldatei angeben, die in das Ziel eingefügt werden soll. Dies ist nützlich, wenn Sie nur einen Teil des Quellensamples in das Ziel einfügen wollen. Beide Werte müssen als PCM-Daten festgelegt werden. Diese Tags sind standardmäßig auf 0 für Start und die Länge des Quellensamples für End gesetzt. Dies bedeutet, dass standardmäßig das gesamte Sample eingefügt wird.

Offset:
Gibt die Position im Quellensample an, bei der InsertSample() beginnen soll, die PCM-Daten für das Zielsample auszulesen. Diese Position muss in PCM-Daten festgelegt werden und ist in Bezug auf die Position in Start anzugeben. Zum Beispiel, wenn Sie 10000 in Start übergeben und 100 in Offset, dann startet InsertSample() den Abruf von PCM-Daten an der Position 10100. Dieser Tag ist standardmäßig auf 0 gesetzt, womit die PCM-Daten von Anfang an des Quellensamples geholt werden.

Loop:
Gibt an, ob InsertSample() an den Anfang der PCM-Daten des Quellensamples springen soll, wenn das Ende erreicht worden ist oder nicht. Der Standardwert ist True, was bedeutet, InsertSample() wird automatisch an den Anfang des Samples zurückspringen, wenn ihr Ende erreicht worden ist und mehr PCM-Daten erforderlich sind. Der Beginn des Sample wird durch den Wert im Tag Start definiert.

Bitte beachten Sie, dass dieser Befehl die Länge des Zielsamples verlängert. Bestehende Audiodaten werden nicht überschrieben. Sie werden nur durch den Einfügeprozess nach vorne verschoben werden.

Eingaben
src
Identifikator des Quellensamples
dst
Identifikator des Zielsamples
pos
Position in PCM-Daten, wo in dst das src eingefügt werden soll
len
optional: Anzahl der PCM-Daten, die von src in dst eingefügt werden sollen (voreingestellt ist die Länge von src)
table
optional: Tabelle für weitere Parameter (siehe oben)
Beispiel
InsertSample(src, dst, pos[, len, table])
InsertSample(1, 2, 44100, 44100, {Start = 25000, End = 30000})
Der obige Code fügt eine Sekunde Audiodaten vom Sample 1 in Sample 2 ein. Das Sample 1 wird an der Position 44100 ins Sample 2 eingefügt, aber nur die PCM-Daten im Bereich von 25000 bis 30000 werden geholt.

Navigation zeigen