Programing

Mac OS X 10.6에서 하드웨어 경고음을 울리는 방법

lottogame 2020. 5. 28. 07:56
반응형

Mac OS X 10.6에서 하드웨어 경고음을 울리는 방법


Mac OS X 10.6이 오픈 수세 및 기타 배포판에서와 같은 하드웨어 경고음을 내기를 원합니다. 나는 다음과 같은 접근법을 시도했다.

터미널-> 경고음 = -bash : 경고음 : 명령을 찾을 수 없음

터미널-> 비프 음 = 음성으로 경고음이 나옵니다 (하드웨어 비프 음이 아니라 최고;)

applescript-> 경고음 = Macintosh 벨 (하드웨어 경고음이 필요합니다!)

bin / bash 또는 applescript에서 하드웨어 경고음을 만드는 방법을 아는 사람이 있습니까?


macOS에는 "하드웨어 경고음"이 없습니다.

여러분이 생각하는 기능은 매우 오래된 (1990 년대 이전) IBM PC 호환 하드웨어의 인공물입니다. 대부분의 컴퓨터에 사운드 카드가 설치되기 전에 대부분의 컴퓨터에는 타이머 칩의 채널 중 하나에 작은 스피커 또는 피에조 버저가 연결되어있었습니다. 간단한 톤 또는 경고음을 생성하는 데 사용할 수 있습니다. 많은 컴퓨터가 사운드 카드를 통합 한 후에도 컴퓨터가이 출력을 별도의 내부 스피커로 라우팅하는 것이 일반적이었습니다. 최근에는 많은 컴퓨터, 특히 랩톱에서이 기능을 온보드 사운드 카드에 통합했습니다.

PC 스피커 인터페이스의 작동 방식에 대한 기술적 세부 정보가 궁금하다면 여기에 자세한 내용이 있습니다 .

이 하드웨어는 Apple 컴퓨터에는 존재하지 않았습니다. 사용 가능한 유일한 오디오 출력은 사운드 카드를 통한 것이며 macOS의 유일한 시스템 경고음은 사용자의 경고음입니다.


tput bel 대부분의 껍질에서 작동합니다.

OS X에서는 터미널이 포 그라운드에 있지 않을 때 명령이 실행되면이 (그리고 종을 울리는 다른 명령도) 배지를 얻습니다.


인쇄 \a가 항상 작동하지는 않았습니다 (MBA, 10.7.4). 대신 이것을 사용합니다 :

say "beep"

실제로 다음은 효과적이고 다소 선율 적입니다.

say -v Bells "dong dong dong"

[업데이트] 불행하게도 Bells는 더 이상 최신 OS X에 포함되어 있지 않습니다.

say -v Victoria Do your homework!

다음을 사용하여 음성을 탐색하십시오.

say -v \?

echo ^Gbash에 십시오. 작성하기 ^G를 눌러 ctrl+v다음과 ctrl+g.


이것은 모든 음성을 반복합니다 (요세미티에서 작동).

say -v '?' | awk '{print $1}' | while read voice; do printf "using $voice...\n"; say -v $voice "hello, this is me using the $voice voice"; sleep 1; done

터미널 유형에서 :

echo -e "\ a"

-e 매개 변수는 echo가 이스케이프 문자를 처리하도록 지시합니다. \ n은 줄 바꾸기 문자이므로 \ a는 종입니다 (Ctrl + G와 동일).


와 임의의 경고음을 재생 afplay

나는 아무도 언급하지 않은 것에 놀랐습니다 afplay: 그것은 임의의 사운드 파일을 재생하는 명령 줄 프로그램입니다. OS X 및 메모리가 너무 길면 NeXTSTEP의 최초 릴리스 이후로 사용되었습니다.

예를 들어, 명령 행에서이를 실행하거나 스크립트에 넣을 수 있습니다.

$ afplay /System/Library/Sounds/Ping.aiff

시스템 사운드에만 국한되지는 않습니다. 사용의 한 가지 장점은 afplay자신의 사운드 파일을 경고로 선택할 수 있다는 것입니다. 예를 들어, 이러한 사운드 파일 중 하나를 다운로드 하여 좋아하는 파일 을 선택할 수 있습니다.

(텔레타이프 모델 33 벨의 녹음을 찾을 수 있다면 추가 포인트!)


OS X 터미널에서 다음 명령을 실행하십시오. osascript -e 'beep'

OSA (Open Script Architecture) 기술을 사용하여 AppleScript에 명령을 실행하도록 지시 beep합니다.


printf "\a"

를 보면 다음을 man printf포함하여 이스케이프 된 문자 목록이 표시됩니다 \a.

\a      Write a <bell> character.

printf "\a" 또한 터미널에서 작동하며 설정된 경고음을 재생합니다.


필요한 것이 있으면 "중요"

당신이 사용할 수있는

tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s && tput bel && sleep 0.33s

:)


MacOS X에서는 소리를 얻으려면 "소리 경고"옵션 (터미널 / 환경 설정)을 활성화해야합니다.


XCODE가 설치되어 있다면 경고음 / 벨을 낼 수 있습니다. 나는 printf "\a"C 에서 캐릭터가 작동 하도록 할 수 있다고 생각하지 않았습니다 .

프로그램이 실행될 때 톤이 작동하도록하는 방법이 있습니다. XCODE를 시작하고 XCODE, 기본 설정, 동작 아래의 메뉴를 드롭 다운하고, 첫 번째 상자 PLAY SOUND를 체크하고, 목록에서 선택하거나 사운드를 추가하십시오.

That's one way to do it, but only as the program runs, I believe.


osascript -e 'tell application "System Events" to beep'

참고URL : https://stackoverflow.com/questions/3127977/how-to-make-the-hardware-beep-sound-in-mac-os-x-10-6

반응형