/dev/dsp가 존재한다면 왜 대부분의 애플리케이션이 OSS를 사용하려고 합니까?

/dev/dsp가 존재한다면 왜 대부분의 애플리케이션이 OSS를 사용하려고 합니까?

/dev/dsp그렇다면 고급 오디오 서버(ALSA 또는 PulseAudio)를 사용할 수 있는 시스템에 OSS가 존재한다면 대부분의 응용 프로그램이 OSS를 사용하려고 시도하는 이유는 무엇일까요?

oss-compatDebian Wheezy에 설치한 후 이 문제가 발생했습니다 . 예를 들어 다음 응용 프로그램은 사용 가능한 다른 응용 프로그램에 관계없이 OSS를 사용하기 시작하는 것 같습니다.

  • 플레이어
  • SDL(Battle for Wesnoth와 같이 SDL 라이브러리를 사용하는 모든 것)
  • mpg321
  • 오거 123
  • (타사) Firefox용 (타사) 플래시 플러그인

이것을 시도한 이유는 질문과 그다지 관련이 없지만 확인하십시오.여기관심이 있다면.

나에게는 응용 프로그램(이러한 솔루션을 사용할 수 있음)이 먼저 더 높은 수준의 오디오 솔루션을 검색하고 /dev/dsp솔루션을 찾을 수 없는 경우에만 OSS()에 액세스하려고 시도하는 것이 더 논리적인 것 같습니다.

답변1

애플리케이션이 고급 오디오 솔루션을 먼저 탐색하는 것이 더 논리적인 것 같습니다.

나는 이것이 실제로 ALSA API를 사용하여 일부 작업을 수행하는 데 큰 이점이 있다고 생각합니다. 이것이 당신이 시작하는 곳이다준비된 PCM 스트림만 재생합니다.

이제 Wikipedia에서 인용하겠습니다.오픈소스 소프트웨어 API:

API는 특수 장치와 함께 전통적인 Unix 프레임워크인 open(), read(), write() 및 ioctl()을 사용하도록 설계되었습니다. 예를 들어, 사운드 입력 및 출력을 위한 기본 장치는 /dev/dsp입니다. 쉘을 사용한 예:

   cat /dev/urandom > /dev/dsp # plays white noise through the speaker
   cat /dev/dsp > a.a # reads data from the microphone and copies it to file a.a

더 발전된 것, 더 복잡한 것, 아니면 간단하고 완벽한 것 중에서 어느 것부터 시작하시겠습니까? 무엇을 하려는지에 따라 다르지만 대부분의 응용 프로그램이 단지 일부 pcm을 출력하기를 원한다고 가정하면 쓰기는 /dev/dsp괜찮을 것입니다.

[또한 순수 PCM으로 가정합니다.할 수 있는/dev/dsp(그렇지 않다면 무엇을?) 직접 피드를 제공 하지만 저는 똑똑하고 여기에 있는 모든 컴퓨터에는 사용자 정의 커널이 있고 OSS 지원이 없기 때문에 테스트할 수 없습니다! 앞으로는 태도가 바뀔 수도 있어요. ]

관련 정보