سؤال

أود أن يكون برنامج بيثون تنبيه لي عندما أكملت مهمتها في جعل بيب الضوضاء.حاليا انا استخدم import os ثم استخدم سطر الأوامر برنامج الكلام أن تقول "العملية كاملة." أنا أفضل أن تكون بسيطة "الجرس".

أنا أعرف أن هناك وظيفة التي يمكن استخدامها في الكاكاو تطبيقات ، NSBeep, ولكن أنا لا أعتقد أن لديه الكثير من أي شيء للقيام مع هذا.

لقد حاولت أيضا

print('\a')

ولكن ذلك لم ينجح.

انا استخدم ماك, إذا كنت لا يمكن أن أقول بلدي الكاكاو التعليق, بحيث قد تساعد.

هل كانت مفيدة؟

المحلول

هل جربت :

import sys
sys.stdout.write('\a')
sys.stdout.flush()

الذي يعمل على نظام التشغيل Mac OS 10.5

في الواقع, أعتقد الأصلي الخاص بك محاولة يعمل أيضا مع القليل من التعديل:

print('\a')

(أنت فقط في حاجة إلى علامات الاقتباس المفردة حول تسلسل الأحرف).

نصائح أخرى

إذا كان لديك PyObjC (الثعبان - الهدف-C الجسر) تثبيت أو تشغيل OS X 10.5 نظام بايثون (الذي يأتي مع PyObjC), يمكنك أن تفعل

from AppKit import NSBeep
NSBeep()

للعب نظام التنبيه.

حاولت خلاط من pygame وحدة ، وأنه يعمل بشكل جيد.أولا تثبيت الوحدة النمطية:

$ sudo apt-get install python-pygame

ثم في البرنامج ، أكتب هذا:

from pygame import mixer
mixer.init() #you must initialize the mixer
alert=mixer.Sound('bell.wav')
alert.play()

مع pygame لديك الكثير من خيارات التخصيص التي قد بالإضافة إلى ذلك تجربة.

اضطررت إلى إيقاف "الصمت محطة الجرس" الخيار في حياتي نشط محطة الشخصي في iTerm على print('\a') إلى العمل.يبدو أن تعمل بشكل جيد بشكل افتراضي في المحطة.

يمكنك أيضا استخدام ماك وحدة Carbon.Snd للعب نظام تنبيه:

>>> import Carbon.Snd
>>> Carbon.Snd.SysBeep(1)
>>> 

الكربون وحدات لم يكن لديك أي وثائق ، لذلك اضطررت إلى استخدام help(Carbon.Snd) لمعرفة ما هي الوظائف المتاحة.يبدو أن واجهة مباشرة على الكربون ، وبالتالي فإن مستندات على أبل المطور اتصال تساعد على الأرجح.

بناء على باري ارك الجواب...NSBeep() من AppKit يعمل بشكل جيد, ولكن أيضا يجعل المحطة/رمز التطبيق في شريط المهام القفز.بضعة خطوط إضافية مع NSSound() يتجنب أن يعطي الفرصة لاستخدام صوت آخر:

from AppKit import NSSound
#prepare sound:
sound = NSSound.alloc()
sound.initWithContentsOfFile_byReference_('/System/Library/Sounds/Ping.aiff', True)
#rewind and play whenever you need it:
sound.stop() #rewind
sound.play()

معيار ملفات الصوت يمكن العثور عليها عن طريق سطر الأوامر locate /System/Library/Sounds/*.aiff الملفات المستخدمة من قبل NSBeep() يبدو أن '/System/Library/Sounds/Funk.aiff'

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top