Python ήχου ( "Bell")

ψήφοι
45

Θα ήθελα να έχουμε ένα πρόγραμμα Python με ειδοποιεί όταν θα έχει ολοκληρωθεί το έργο της κάνοντας ένα θόρυβο μπιπ. Αυτή τη στιγμή, μπορώ να χρησιμοποιήσω import osκαι στη συνέχεια να χρησιμοποιήσετε ένα πρόγραμμα εντολών γραμμής ομιλία του να πει «Διαδικασία πλήρης.» Θα προτιμούσα να είναι ένα απλό «καμπάνα».

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

Επίσης έχω δοκιμάσει print(\a), αλλά δεν λειτούργησε.

Είμαι χρησιμοποιώντας έναν υπολογιστή Mac, αν δεν μπορούσε να πει με σχόλιο κακάο μου, έτσι ώστε να μπορεί να βοηθήσει.

Ευχαριστώ!

Δημοσιεύθηκε 17/08/2008 στις 20:33
πηγή χρήστη
Σε άλλες γλώσσες...                            


5 απαντήσεις

ψήφοι
61

Εχεις δοκιμασει :

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

Αυτό λειτουργεί για μένα εδώ για Mac OS 10.5

Στην πραγματικότητα, νομίζω αρχική προσπάθεια σας λειτουργεί επίσης με μια μικρή τροποποίηση:

print('\a')

(Απλά πρέπει τα μονά εισαγωγικά γύρω από την ακολουθία χαρακτήρων).

Απαντήθηκε 17/08/2008 στις 20:46
πηγή χρήστη

ψήφοι
5

Έπρεπε να απενεργοποιήσετε την επιλογή «Σιωπή τερματικό καμπάνα» στην ενεργό Terminal προφίλ μου στο Iterm για print('\a')να εργαστούν. Φάνηκε να δουλεύουν μια χαρά από προεπιλογή στο Terminal.

Μπορείτε επίσης να χρησιμοποιήσετε τη μονάδα Mac Carbon.Sndγια να παίξετε το μπιπ σύστημα:

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

Οι ενότητες του άνθρακα δεν έχουν καμία τεκμηρίωση, έτσι έπρεπε να χρησιμοποιήσει help(Carbon.Snd)για να δείτε τι λειτουργίες ήταν διαθέσιμες. Φαίνεται να είναι μια άμεση διασύνδεση σε άνθρακα, έτσι ώστε τα έγγραφα για την Apple Developer Connection ίσως βοηθήσει.

Απαντήθηκε 17/08/2008 στις 20:56
πηγή χρήστη

ψήφοι
10

Αν έχετε PyObjC (η Python - Objective-C γέφυρα) που έχουν εγκατασταθεί ή τρέχει σε OS X python σύστημα 10.5 (η οποία πλοία με PyObjC), μπορείτε να κάνετε

from AppKit import NSBeep
NSBeep()

να παίξει το σύστημα έγκαιρης προειδοποίησης.

Απαντήθηκε 29/08/2008 στις 14:47
πηγή χρήστη

ψήφοι
6

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

Απαντήθηκε 24/05/2011 στις 11:14
πηγή χρήστη

ψήφοι
1

Με βάση την απάντηση του Barry Wark του ... NSBeep()από AppKit δουλεύει μια χαρά, αλλά και κάνει το εικονίδιο τερματικό / app στο άλμα γραμμή εργασιών. Μερικές επιπλέον γραμμές με 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'

Απαντήθηκε 14/10/2017 στις 08:37
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more