클릭 할 때마다 음향 효과를 재생하는 방법은 무엇입니까?


11

나는 그것이 이상한 생각처럼 들리지만, 나는 이것을 실험하고 싶다.

지난 몇 달 동안 나는 우분투를 내 작은 프랑켄슈타인의 괴물로 바꾸었지만, 당신이 말한 것은 여전히 ​​작동해야합니다.

답변:


4

흠, 꽤 해키 솔루션이지만 작동합니다! 우선 다음을 설치하십시오.

sudo apt-get install xmacro expect mpg321

xmacro마우스 클릭을 감지하는 프로그램입니다. 명령 줄 플레이어 인 을 실행하기 위해 마우스 클릭 expectxmacro대한 출력을들을 프로그램 mpg321입니다!

따라서 터미널 내부에서이 스크립트를 실행하십시오.

#!/usr/bin/expect -f
spawn xmacrorec2

while { 1 } {
   expect "ButtonRelease 1"
   system mpg321 /home/alex/Music/notification/notification.mp3&
}

위의 스크립트를 실행하면 ( 터미널을 통해 반복 합니다) 입력 키를 묻는 메시지가 표시됩니다. 비정상적인 키 (예 : F7)를 지정하면 키를 누를 때마다이 프로세스가 진행되지 않는 키가됩니다.

따라서 위 스크립트 내에서 mpg321을 유효한 mp3 파일로 설정하고 테스트하십시오. :)

우분투 12.04에서는 잘 작동하지만 Oneiric 에서이 세 가지 도구를 모두 문제없이 사용했습니다!

xmacrorec2예상 키 (-k 인수)를 kei 코드로 인수로 사용할 수 있습니다. 매번 입력 키를 요구하지 않기 때문에 위의 스크립트를 시작 응용 프로그램에 넣으려는 경우 많은 도움이됩니다. 사용하려는 적절한 키 코드를 찾으려면 작은 프로그램을 설치해야합니다 xbindkeys.

sudo apt-get install xbindkeys

그런 다음 수행하십시오.

touch ~/.xbindkeysrc
xbindkeys -k

마지막 명령 후에 아무 것도하지 않고 작은 창이 나타나 키보드 입력을합니다 (F7). 다음과 같은 것을 보게 될 것입니다 :

You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"(Scheme function)"
m:0x0 + c:73
F7

라인을 주목하십시오 :

    m:0x0 + c:73

이 코드 73는 xmacrorec2에서 예상되는 코드 입니다. 따라서 위의 스크립트에 -k 인수를 다음과 같이 추가 spawn xmacrorec2 -k 73하면 자동으로 시작됩니다. 스크립트 편집을 마친 후 ~ / Documents와 같이 안정적인 디렉토리 (나는 가까운 미래로 삭제 / 이동하지 않을 디렉토리를 의미 함)에 저장하고 실행 권한을 부여하십시오 (오른쪽 클릭-> 속성-> 권한-> 파일을 프로그램으로 실행하거나 터미널을 통해 chmod +x script_name.sh) 허용합니다. 그런 다음 시작 응용 프로그램에 스크립트를 추가하십시오 . 물론,이 소리를 멈추고 싶을 때마다 같은 키보드 입력을해야합니다 F7.

PS : 당신이 (같은 별도의 명령 행 MP3 플레이어를 설치하지 않는 경우 mpg321), 당신은 사전 설치된 플레이어로 사용할 수 있습니다 canberra-gtk-play로 사용됩니다,

canberra-gtk-play -f music.wav

단점은 특정 ogg 및 wav 파일 만 재생할 수 있다는 것입니다.


나는 당신의 명령을 시도합니다. 또한 -f시작과 spawn명령 에서 무엇을 의미 합니까?
Lucio

그리고 mpg321 이 외부 프로그램을 설치하지 않는 다른 것을 모르 십니까?
Lucio

맨 페이지 ( man expect)에서 스크립트의 첫 번째 줄이 무엇인지 안내했습니다. 사전 설치된 다른 명령 줄 플레이어는 canberra-gtk-play로 불리 울 수 있습니다 canberra-gtk-play -f file.ogg. 이 프로그램의 단점은 특정 ogg 및 wav 파일 만 재생할 수 있다는 것입니다.
hytromo

지금 업데이트 할 때 GPG 오류로 인해 메소드를 증명할 수 없습니다 .
Lucio

알았어, 시간이 좀있어
hytromo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.