เล่นเสียงบนจอเทอร์มินัล mac


54

ฉันมีสคริปต์ที่ทำงานในพื้นหลังและส่งการแจ้งเตือนให้ฉันทุกสองสามนาที ฉันต้องการให้การแจ้งเตือนอยู่ในรูปแบบของเสียงเตือน

คำถาม: ฉันจะส่งเสียงบี๊บในเครื่องเทอร์มินัล Mac ได้อย่างไร?

คำตอบ:


93

printf \\aและosascript -e beepเล่นเสียงเตือนเริ่มต้น แต่จะเงียบหากตั้งระดับความดังของเสียงเตือนเป็นศูนย์ printf \\aก็จะเงียบถ้าเสียงระฆังถูกปิดใช้งาน

คุณสามารถใช้ afplay หรือพูดว่า:

afplay /System/Library/Sounds/Funk.aiff
say done

มีไฟล์เสียงประกอบเพิ่มเติมใน /System/Library/PrivateFrameworks/ScreenReader.framework/Versions/A/Resources/Sounds/


ฉันใช้คำพูดจนถึงตอนนี้ afplay ทำเล่ห์เหลี่ยม ขอบคุณ!
rk

1
หวาน! คุณสามารถใช้say -v ?(อย่างน้อยโยเซมิตี) เพื่อรับรายการเสียงที่ติดตั้ง - ฉันมีหลายอย่าง! นี่เป็นสคริปต์เล็ก ๆ น้อย ๆ ที่จะพูดสิ่งที่คุณต้องการในเสียงทุก:for i in $(say -v \? | awk '{print $1;}'); do echo $i; say -v $i "Build terminated\!"; done
scorpiodawg

13

วิธีที่ง่ายที่สุดคือใช้ระฆัง echo -e "\a"


1
ไม่ได้ผลสำหรับฉัน ฉันต้องการแพ็คเกจหรือไม่
rk

คุณใช้ OS X เวอร์ชันใดอยู่ ตรวจสอบการตั้งค่าเทอร์มินัลอีมูเลเตอร์ของคุณและตรวจสอบให้แน่ใจว่าคุณไม่ได้ปิดเสียงระฆัง
เอียงอาย

Ah! ไม่ได้เปิดใช้งานเสียงเทอร์มินัล นอกจากนี้ยังมีเสียงระฆัง / การแจ้งเตือนที่ดีเมื่อเทียบกับเสียงทุ้มเสียงดังคำสั่งนี้?
rk

ฉันใช้ iTerm2 ด้วยตัวเองซึ่งใช้คำราม (ดังนั้นเสียงระฆังจึงไปยังคำราม) ผ่านคำรามฉันเพิ่มเสียงอื่นลงในการแจ้งเตือนของ iTerm2 ใช่ชนิดของรอบ
เอียงอาย

โอ้ฉันจะใช้การตั้งค่านั้นเป็นวิธีสุดท้าย;)
rk

3

echo ^Gอีกวิธีหนึ่งคือการ ^Gแต่คุณไม่อักษรพิมพ์ แต่ประเภทซึ่งจะปรากฏเป็นctrl+v, ctrl+gecho ^G


@tmanok บนเครื่อง mac? ctrl+Gด้วยตัวเองไม่ได้ทำอะไรเลยสำหรับฉันใน mac
wisbucky

โอ้? มันทำกับ Sierra และ Yosemite สำหรับฉัน .... Odd
Tmanok

แต่มันไม่ได้ทำงานกับเครื่อง 10.6 ของฉัน - บางที CLI Tools ของฉันหรือ Homebrew บางตัวกำลังพลาดอยู่ ฉันจะถอนความคิดเห็นขอโทษ
Tmanok
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.