AudioOut
AudioOut은 게스트 PCM을 Windows 장치에서 48 kHz로 재생합니다. 레거시 포트는 각자 스트림과 큐를 가지므로 음악과 효과음이 함께 재생되고, 언더런이 나도 샘플 순서가 유지됩니다.
2026년 10월 10일까지의 저장소 노트
포트와 호스트 장치
타이틀은 버퍼를 제출하고, 호출이 그 버퍼가 소리 나는 시간만큼 걸리기를 기대합니다. 그 대기는 샘플을 버리는 sleep이 아니라 호스트 장치가 자리를 비워 주는 데서 옵니다. AudioOut, AudioIn, AudioOut2는 속도가 맞춰진 포트, 큐, 스피커 메타데이터, 연결된 주 장치 상태를 제공합니다. 묶음은 모든 포트를 검증한 뒤 들리는 단위를 한 번만 제출하므로, 무음 보조 포트가 재생 시간을 몇 배로 늘리지 않습니다.
레거시 AudioOut 포트는 별도의 Windows 스트림과 PCM 큐를 소유합니다. 음악과 효과음을 동시에 재생할 수 있습니다. 묶음 출력은 활성 포트를 각각 제출합니다. 언더런 뒤에도 활성 링은 샘플 순서를 유지하며, 짧은 페이드로 재개 시의 클릭음을 없앱니다. WinMM 장치는 실제 PCM을 미리 채워 넣고 1밀리초 타이머 주기를 사용합니다.
지연 시간
일반 예비 버퍼는 42 ms에서 시작해, 실행 중인 타이틀이 실제로 장치를 굶길 때만 버퍼 4개 단위로 약 170 ms까지 늘어납니다. PPSA25872의 측정 프로필은 128 ms에서 시작하는데, 이 게임의 믹서가 시작과 장면 작업 중 약 100–120 ms 동안 멈출 수 있기 때문입니다. 이 더 큰 예비 버퍼를 다른 타이틀에 강요하지 않습니다.
유한하지 않은 샘플은 장치에 도달하기 전에 교체됩니다. 이 정리 장치는 스피커를 보호합니다. 이미 NaN을 저장한 필터를 고칠 수는 없습니다. ACM 페이지는 Subnautica에서 그런 값을 만들던 컨볼루션 버그를 설명합니다.
출력이 있는 곳
장치 열기 실패는 타이틀에 보고하지 않습니다. 사운드 카드가 없는 것은 호스트의 사정입니다. 호출자는 속도가 맞춰진 무음 대기로 넘어가 타이틀의 타이밍이 계속 진행되게 합니다. 실행 중 장치가 죽어도 마찬가지입니다. 출력은 Windows에 구현되어 있습니다. 다른 빌드에서는 포트가 무음이지만 속도는 올바르게 맞춰집니다.
디코딩된 미리보기 클립의 직접 대체 믹싱은 기본적으로 꺼져 있습니다. 타이틀 자신의 AudioOut 믹스 옆에서 미리보기를 재생하면 메아리처럼 들립니다. PS5_AUDIO_FALLBACK_MIX=1로 이 믹스를 켭니다. 런처는 소리 설정으로 장치를 음소거할 수 있으며, 이 설정은 PS5_AUDIO_DISABLED로 전달됩니다.
구현된 것
- 속도가 맞춰진 AudioOut, AudioIn, AudioOut2 포트를 통한 48 kHz 호스트 재생.
- 레거시 포트별 Windows 스트림으로 동시 재생되는 음악과 효과음의 순서 유지.
- 42 ms에서 시작해 장치가 굶을 때만 약 170 ms까지 늘어나는 예비 버퍼.
- 유한하지 않은 샘플 교체, 장치가 열리지 않을 때의 속도가 맞춰진 무음 대체.
아직 빠진 것
- 호스트 출력은 Windows 전용입니다.
- 오디오 햅틱 트랙으로 컨트롤러 진동을 구동하지 않습니다.
- 정리 장치는 이미 오염된 필터 이력을 복원하지 않습니다.
관련 메커니즘
이 페이지들에 대하여