صوت#

مقدمة#

تتيح وحدة التحكم في طائرة VEX AIR بدون طيار للمستخدمين تشغيل الأصوات المدمجة، وملفات الصوت المخصصة، والنوتات الموسيقية. كما تتضمن عناصر تحكم لإيقاف الأصوات والكشف عما إذا كان الصوت قيد التشغيل حاليًا.

فيما يلي قائمة بجميع الطرق المتاحة:

الإجراءات - تشغيل وإيقاف الأصوات

  • play — تشغيل صوت مدمج من قائمة محددة مسبقًا.

  • play_file — تشغيل صوت تم تحميله بواسطة المستخدم.

  • play_note — يعزف نغمة موسيقية بدرجة صوتية وأوكتاف ومدة محددة.

  • stop — إيقاف أي صوت قيد التشغيل حاليًا.

الحصول على المعلومات - الحصول على حالة الأصوات

  • 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 بتشغيل صوت مخصص قام المستخدم بتحميله بنسبة صوت محددة. وبما أن هذه الطريقة لا تتطلب انتظارًا، فإن الطائرة المسيرة تشغل الصوت المخصص وتنتقل إلى الأمر التالي دون انتظار انتهاء الأمر.

طريقة الاستخدام:

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 نغمةً محددةً لمدةٍ زمنيةٍ محددة. وبما أن هذه الطريقة لا تتطلب انتظارًا، فإن الطائرة المسيّرة تُشغّل النغمة المحددة وتنتقل إلى الأمر التالي دون انتظار انتهائها.

طريقة الاستخدام:

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 تُرجع قيمة منطقية تشير إلى ما إذا كانت الطائرة بدون طيار تقوم حاليًا بتشغيل صوت.

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