Ήχος#

Εισαγωγή#

Το χειριστήριο VEX AIR Drone επιτρέπει στους χρήστες να αναπαράγουν ενσωματωμένους ήχους, προσαρμοσμένα αρχεία ήχου και μουσικές νότες. Περιλαμβάνει επίσης χειριστήρια για τη διακοπή ήχων και την ανίχνευση της αναπαραγωγής ήχου.

Παρακάτω είναι μια λίστα με όλες τις διαθέσιμες μεθόδους:

Ενέργειες - Αναπαραγωγή και διακοπή ήχων

  • play — Αναπαράγει έναν ενσωματωμένο ήχο από μια προκαθορισμένη λίστα.

  • play_file — Αναπαράγει έναν ήχο που έχει ανεβάσει ο χρήστης.

  • play_note — Αναπαράγει μια μουσική νότα με καθορισμένο ύψος, οκτάβα και διάρκεια.

  • stop — Διακόπτει οποιονδήποτε ήχο που αναπαράγεται αυτήν τη στιγμή.

Getters - Λήψη Κατάστασης Ήχων

  • is_active — Ελέγχει αν αναπαράγεται κάποιος ήχος αυτήν τη στιγμή.

Ενέργειες#

play#

play αναπαράγει έναν από τους ενσωματωμένους ήχους του χειριστηρίου σε ένα καθορισμένο ποσοστό έντασης. Δεδομένου ότι πρόκειται για μια μέθοδο χωρίς αναμονή, το χειριστήριο αναπαράγει τον ενσωματωμένο ήχο και μετακινείται στην επόμενη εντολή χωρίς να περιμένει να ολοκληρωθεί.

Χρήση:

controller.sound.play(sound, volume)

Παράμετρος

Περιγραφή

sound

Μία από τις ενσωματωμένες επιλογές ήχου που αναφέρονται παρακάτω.

volume

Προαιρετικό. Η ένταση του ήχου, ως ακέραιος αριθμός από 0% έως 100%. Η προεπιλογή είναι 50%.

Ενσωματωμένοι ήχοι

Αναπαραγωγή ήχου

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 αναπαράγει έναν προσαρμοσμένο ήχο που έχει φορτωθεί από τον χρήστη σε ένα καθορισμένο ποσοστό έντασης. Δεδομένου ότι πρόκειται για μια μέθοδο χωρίς αναμονή, το drone αναπαράγει τον προσαρμοσμένο ήχο και μετακινείται στην επόμενη εντολή χωρίς να περιμένει να ολοκληρωθεί.

Χρήση:

controller.sound.play_file(file, volume)

Παράμετρος

Περιγραφή

file

Ένα από τα προσαρμοσμένα αρχεία ήχου που έχει ανεβάσει ο χρήστης, από SOUND1 έως SOUND10Ο αριθμός ήχου ευθυγραμμίζεται με τον αριθμό που εμφανίζεται στον Πίνακα Ελέγχου AIR.

volume

Προαιρετικό. Η ένταση του ήχου, ως ακέραιος αριθμός από 0% έως 100%. Η προεπιλογή είναι 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 παίζει μια συγκεκριμένη νότα για μια συγκεκριμένη διάρκεια. Δεδομένου ότι πρόκειται για μια μέθοδο χωρίς αναμονή, το drone παίζει τη συγκεκριμένη νότα και μετακινείται στην επόμενη εντολή χωρίς να περιμένει να ολοκληρωθεί.

Χρήση:

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

Παράμετρος

Περιγραφή

note

Το μουσικό ύψος που θα παιχτεί, γραμμένο ως έγχορδο (π.χ., C5, A#6). Έγκυρες νότες είναι A έως G (με προαιρετικό # για διέσεις) σε οκτάβες 5 έως 8.

duration

Η διάρκεια της νότας, δίνεται ως ακέραιος αριθμός σε χιλιοστά του δευτερολέπτου.

volume

Προαιρετικό. Η ένταση του ήχου της νότας, ως ακέραιος αριθμός από 0% έως 100%. Η προεπιλογή είναι 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 σταματά έναν ήχο που αναπαράγεται αυτήν τη στιγμή.

Χρήση:

controller.sound.stop()

Παράμετροι

Περιγραφή

Αυτή η μέθοδος δεν έχει παραμέτρους.

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

Αποκτητές#

is_active#

is_active επιστρέφει μια Boolean τιμή που υποδεικνύει εάν το drone αναπαράγει αυτήν τη στιγμή έναν ήχο.

  • True — Αναπαράγεται ένας ήχος αυτήν τη στιγμή

  • False — Δεν αναπαράγεται ήχος

Usage:
controller.sound.is_active()

Παράμετροι

Περιγραφή

Αυτή η μέθοδος δεν έχει παραμέτρους.

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