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

sound

Eine der unten aufgeführten integrierten Soundoptionen.

volume

Optional. Die Lautstärke des Tons, als ganze Zahl von 0 % bis 100 %. Der Standardwert ist 50 %.

Eingebaute Sounds

Ton abspielen

SUCCESS

FAULT

SENSING

DETECTED

OBSTACLE

LOOPING

COMPLETE

PAUSE

RESUME

SEND

RECEIVE

# 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

file

Eine der vom Benutzer hochgeladenen benutzerdefinierten Sounddateien, von SOUND1 bis SOUND10Die Soundnummer stimmt mit der im AIR Control Panel angezeigten Nummer überein.

volume

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

note

Die zu spielende Tonhöhe wird als Tonfolge notiert (z. B. C5, A#6). Gültige Noten sind A bis G (mit optionalem # für Kreuze) über die Oktaven 5 bis 8.

duration

Die Dauer des Tons, angegeben als ganze Zahl in Millisekunden.

volume

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 abgespielt

  • False — 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!")