Klang#
Einführung#
Mit dem VEX AIR Drohnen-Controller können Benutzer integrierte Sounds, benutzerdefinierte Audiodateien und Musiknoten abspielen. Er verfügt außerdem über Steuerelemente zum Stoppen von Sounds und zur Erkennung, ob gerade Audio wiedergegeben wird.
Nachfolgend finden Sie eine Liste aller verfügbaren Methoden:
Aktionen – Töne abspielen und stoppen
play— Spielt einen eingebauten Sound aus einer vordefinierten Liste ab.play_file— Spielt einen vom Benutzer hochgeladenen Ton ab.play_note— Spielt eine musikalische Note mit einer bestimmten Tonhöhe, Oktave und Dauer.stop— Stoppt den aktuell wiedergegebenen Ton.
Getter – Status von Sounds abrufen
is_active— Prüft, ob gerade ein Ton abgespielt wird.
Aktionen#
play#
Der Befehl play spielt einen der integrierten Sounds des Controllers mit der festgelegten Lautstärke ab. Da es sich um eine Methode ohne Wartezeit handelt, spielt der Controller den Sound ab und fährt mit dem nächsten Befehl fort, ohne auf dessen Beendigung zu warten.
Verwendung:
controller.sound.play(sound, volume)
Parameter |
Beschreibung |
|---|---|
|
Eine der unten aufgeführten integrierten Soundoptionen. |
|
Optional. Die Lautstärke des Tons, als ganze Zahl von 0 % bis 100 %. Der Standardwert ist 50 %. |
Eingebaute Sounds |
Ton abspielen |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Play the looping sound.
controller.sound.play(LOOPING)
# Play the looping sound at full volume.
controller.sound.play(LOOPING, 100)
# Play the looping sound.
# Wait until the sound is finished before taking off.
controller.sound.play(LOOPING)
while controller.sound.is_active():
wait(50, MSEC)
drone.take_off(climb_to=500)
wait(1, SECONDS)
drone.land()
play_file#
play_file spielt einen vom Benutzer geladenen benutzerdefinierten Sound mit der angegebenen Lautstärke ab. Da es sich um eine Methode ohne Wartezeit handelt, spielt die Drohne den Sound ab und fährt mit dem nächsten Befehl fort, ohne auf dessen Abschluss zu warten.
Verwendung:
controller.sound.play_file(file, volume)
Parameter |
Beschreibung |
|---|---|
|
Eine der vom Benutzer hochgeladenen benutzerdefinierten Sounddateien, von |
|
Optional. Die Lautstärke des Tons, als ganze Zahl von 0 % bis 100 %. Der Standardwert ist 50 %. |
# Upload a sound file in VEXcode.
# Play the custom sound.
controller.sound.play_file(SOUND1)
# Upload a sound file in VEXcode.
# Play the custom sound at full volume.
controller.sound.play_file(SOUND1, 100)
# Play the custom sound sound.
# Wait until the sound is finished before taking off.
controller.sound.play_file(SOUND1)
while controller.sound.is_active():
wait(50, MSEC)
drone.take_off(climb_to=500)
wait(1, SECONDS)
drone.land()
play_note#
play_note spielt eine bestimmte Note für eine bestimmte Dauer. Da es sich um eine Methode ohne Wartezeit handelt, spielt die Drohne die Note und fährt mit dem nächsten Befehl fort, ohne auf deren Beendigung zu warten.
Verwendung:
controller.sound.play_note(note, duration, volume)
Parameter |
Beschreibung |
|---|---|
|
Die zu spielende Tonhöhe wird als Tonfolge notiert (z. B. |
|
Die Dauer des Tons, angegeben als ganze Zahl in Millisekunden. |
|
Optional. Die Lautstärke des Tons als ganze Zahl von 0 % bis 100 %. Der Standardwert ist 50 %. |
# Play C5 for 2 seconds
controller.sound.play_note("C5", 2000)
# Play C5 for 2 seconds at full volume
controller.sound.play_note("C5", 2000, 100)
# Play a short tune.
controller.sound.play_note("C5", 1000)
while controller.sound.is_active():
wait(50, MSEC)
controller.sound.play_note("D5", 1000)
while controller.sound.is_active():
wait(50, MSEC)
controller.sound.play_note("E5", 250)
while controller.sound.is_active():
wait(50, MSEC)
stop#
stop stoppt einen aktuell abgespielten Ton.
Verwendung:
controller.sound.stop()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
# Upload a sound 10 seconds or greater in VEXcode.
# Stop the sound while it is playing.
controller.sound.play_file(SOUND1)
wait(6, SECONDS)
controller.sound.stop()
Getter#
is_active#
is_active gibt einen booleschen Wert zurück, der angibt, ob die Drohne gerade einen Ton abspielt.
True— Es wird gerade ein Ton abgespieltFalse— Es wird kein Ton abgespielt
Usage:
controller.sound.is_active()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
# Display text once a sound starts playing
controller.sound.play(LOOPING)
while not controller.sound.is_active():
wait(50, MSEC)
print("I hear the sound!")