Geluid#

Invoering#

Met de VEX AIR Drone Controller kunnen gebruikers ingebouwde geluiden, eigen audiobestanden en muzieknoten afspelen. De controller bevat ook bedieningselementen om geluiden te stoppen en te detecteren of er momenteel audio wordt afgespeeld.

Hieronder vindt u een lijst met alle beschikbare methoden:

Acties - Geluiden afspelen en stoppen

  • play — Speelt een ingebouwd geluid af uit een vooraf gedefinieerde lijst.

  • play_file — Speelt een door de gebruiker geüpload geluid af.

  • play_note — Speelt een muzieknoot met een opgegeven toonhoogte, octaaf en duur.

  • stop — Stopt elk geluid dat momenteel wordt afgespeeld.

Getters - Status van geluiden ophalen

  • is_active — Controleert of er momenteel een geluid wordt afgespeeld.

Acties#

play#

play af met een van de ingebouwde geluiden van de controller op een bepaald volumepercentage. Omdat dit een methode zonder wachttijd is, speelt de controller het ingebouwde geluid af en gaat direct door naar de volgende opdracht, zonder te wachten tot deze is voltooid.

Gebruik:

controller.sound.play(sound, volume)

Parameter

Beschrijving

sound

Een van de ingebouwde geluidsopties die hieronder worden vermeld.

volume

Optioneel. Het volume van het geluid, als een geheel getal van 0% tot 100%. De standaardwaarde is 50%.

Ingebouwde geluiden

Geluid afspelen

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 speelt een aangepast geluid af dat door de gebruiker is geladen, met een opgegeven volumepercentage. Omdat dit een niet-wachtende methode is, speelt de drone het aangepaste geluid af en gaat direct door naar de volgende opdracht, zonder te wachten tot deze is voltooid.

Gebruik:

controller.sound.play_file(file, volume)

Parameter

Beschrijving

file

Een van de door de gebruiker geüploade aangepaste geluidsbestanden, van SOUND1 tot SOUND10Het geluidsnummer komt overeen met het nummer dat wordt weergegeven in het AIR-configuratiescherm.

volume

Optioneel. Het volume van het geluid, als een geheel getal van 0% tot 100%. De standaardwaarde is 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 speelt een specifieke noot gedurende een specifieke tijd. Omdat dit een methode zonder wachttijd is, speelt de drone de specifieke noot en gaat direct door naar het volgende commando, zonder te wachten tot het is voltooid.

Gebruik:

controller.sound.play_note(note, duration, volume)

Parameter

Beschrijving

note

De te spelen toonhoogte, weergegeven als een snaar (bijv. C5, A#6). Geldige noten zijn A tot en met G (met optioneel # voor kruizen) over de octaven 5 tot en met 8.

duration

De duur van de noot, weergegeven als een geheel getal in milliseconden.

volume

Optioneel. Het volume van de notatie, als een geheel getal van 0% tot 100%. De standaardwaarde is 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 stopt een geluid dat momenteel wordt afgespeeld.

Gebruik:

controller.sound.stop()

Parameters

Beschrijving

Deze methode heeft geen parameters.

# 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()

Getters#

is_active#

is_active retourneert een Booleaanse waarde die aangeeft of de drone momenteel een geluid afspeelt.

  • True — Er wordt momenteel een geluid afgespeeld

  • False — Er wordt geen geluid afgespeeld

Usage:
controller.sound.is_active()

Parameters

Beschrijving

Deze methode heeft geen parameters.

# 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!")