c/C++ 프로그래밍을 위해 linux에서 PC 스피커를 사용하는 방법은 무엇입니까? 경고음과 주파수를 제어 할 수 있습니까?linux에서 PC 스피커를 사용하는 방법은 무엇입니까?
답변
당신은 정말는 이렇게 경고음 명령의 소스 코드를 체크 아웃 할 경우 여전히 스피커에 가까운 무언가에 연결된 칩셋과 동등한 8253가 있다면 아마도 http://www.johnath.com/beep/beep.c
, 당신은에 액세스 할 수 있습니다 커널 모듈이나 ioperm()을 루트로 호출 한 후 데이터 시트 레지스터 또는 고대 PC 가이드 (필자는 더 이상 내 머리 속에이 정보가 없다는 것을 안심하게 받아 들였다)에 따르면.
또한 PC 스피커 용 커널 PWM "아날로그"오디오 드라이버가 한 번 있습니다. 커널을 컴파일 한 것은 이것이 처음이라고 생각합니다. 이것은 커널 모듈 이전 또는 적어도 인기있는 배포판을 만들기 전이었습니다.
실제로 표준 커널에이 장치 드라이버가 있습니다 (로드되지 않았을 수 있음). 왜 그것을 사용하지 않습니까? – MarkR
예 가능하거나 사용 가능할 경우 사용하는 것이 좋습니다. –
예, 콘솔 장치 (예 :/dev/console 또는/dev/tty0)를 연 다음 console_ioctl (4) 매뉴얼 페이지에 설명 된대로 KIOCSOUND ioctl을 실행하십시오.
그것은 유쾌하고 리눅스에 특화된 것이지만 나는 당신의 질문에 답한다고 생각합니다.
편집 : Unbelivably는 당신에게 PC 스피커에 디지털 사운드 재생을 제공 ALSA에 대한 커널의 PC 스피커 드라이버가 있습니다. 자사의 사운드 품질이 좋지되며 그것은 here에서 촬영 :
하지만 CPU를 많이 사용합니다 :
#include <sys/ioctl.h>
#include <unistd.h>
#include <linux/kd.h>
int main(void)
{
int freq[] = { /* C D E F G A B C */
523, 587, 659, 698, 784, 880, 988, 1046 };
int i;
for (i=0; i<8; i++)
{
ioctl(STDOUT_FILENO, KIOCSOUND, 1193180/freq[i]);
usleep(500000);
}
ioctl(STDOUT_FILENO, KIOCSOUND, 0); /*Stop silly sound*/
return 0;
}
- 1. Linux에서 SDL을 사용하는 방법은 무엇입니까?
- 2. 클라이언트 PC 대 가정용 PC
- 3. Linux에서 C를 사용하는 제로 RAM
- 4. Linux에서 GAS (GNU Compiler)를 설치하고 사용하는 방법은 무엇입니까?
- 5. Linux에서 IPv6과 net-snmp 5.5를 함께 사용하는 방법은 무엇입니까?
- 6. Linux에서 printf_l에 해당하는 방법은 무엇입니까?
- 7. Linux에서 'uninterruptible'프로세스를 중지하는 방법은 무엇입니까?
- 8. Linux에서 이더넷을 확인하는 방법은 무엇입니까?
- 9. Blackberry 장치의 스피커를 사용하여 사운드 (짧은 [])를 재생하는 방법은 무엇입니까?
- 10. 코코아 또는 다른 것을 사용하여 MAC OS X 10.6에서 USB 스피커를 사용하고 동시에 오디오 스피커를 내장하는 방법은 무엇입니까?
- 11. Linux에서 핵심 PHP 확장을 활성화하는 방법은 무엇입니까?
- 12. PC 브라우저에서 iPhone Gmail을 여는 방법은 무엇입니까?
- 13. Linux에서 파이썬으로 가역적으로 암호를 저장하는 방법은 무엇입니까?
- 14. PC/Linux에서 Python을 사용하여 Quicktime 무비의 시작 타임 코드를 읽음.
- 15. 헤드폰을 연결했을 때 스피커를 통해 오디오 라우팅
- 16. Linux에서 원시 HID 입력을 캡처하는 방법은 무엇입니까?
- 17. iPhone : 사용할 스피커를 선택하는 방법?
- 18. Windows/Linux에서 wxPython을 사용하는 글꼴의 차이
- 19. Linux에서 BlackBerry 응용 프로그램을 빌드하는 방법은 무엇입니까?
- 20. Linux에서 .NET Micro Framework를 개발하는 방법은 무엇입니까?
- 21. Linux에서 인텔 Mac 바이너리를 컴파일하는 방법은 무엇입니까?
- 22. Linux에서 Jigsaw http server를 컴파일하는 방법은 무엇입니까?
- 23. Ubuntu Linux에서 JVisualvm으로 Tomcat6을 모니터하는 방법은 무엇입니까?
- 24. Android/Linux에서 OpenSSL을 구축하는 방법은 무엇입니까?
- 25. Linux에서 메모리 소비량을 기록하는 방법은 무엇입니까?
- 26. Linux에서 인공 마이크 입력을 만드는 방법은 무엇입니까?
- 27. windows/linux에서 USWC로 메모리를 매핑하는 방법은 무엇입니까?
- 28. Linux에서 "픽셀 완벽한"GUI를 구축하는 방법은 무엇입니까?
- 29. Linux에서 Eclipse에서 Chromium을 디버깅하는 방법은 무엇입니까?
- 30. Linux에서 java 비트 버전을 확인하는 방법은 무엇입니까?
ALSA-LIB http://www.alsa-project.org/alsa-doc/ alsa-lib/ –
$ 10 미만의 사운드 카드를 사용할 수 있습니다. 더 이상 PC 스피커 근처에는 아무런 비즈니스가 없습니다. –
12 개의 질문과 대답이 없습니다. 앞으로 더 많은 질문을 정말로하고 싶다면 ** 수정하십시오. – ereOn