AudioGraph 클래스

정의

오디오를 조작하고 라우팅하는 연결된 입력, 출력 및 서브믹스 노드의 오디오 그래프를 나타냅니다.

public ref class AudioGraph sealed : IClosable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class AudioGraph final : IClosable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class AudioGraph : System.IDisposable
Public NotInheritable Class AudioGraph
Implements IDisposable
상속
Object IInspectable AudioGraph
특성
구현

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)
앱 기능
backgroundMediaRecording

설명

오디오 그래프는 입력 노드, 출력 노드 및 서브믹스 노드로 구성됩니다. 입력 노드에는 오디오 데이터를 생성하는 오디오 파일, 오디오 디바이스 및 코드가 포함됩니다. 출력 노드에는 오디오 파일, 오디오 디바이스 및 오디오 데이터를 처리하는 코드도 포함됩니다. 그래프가 시작되면 오디오 데이터가 입력 노드에서 서브믹스 노드를 통해 출력 노드로 그래프를 통해 전달됩니다. 각 노드는 다음 노드에 전달되기 전에 오디오 데이터에 적용되는 오디오 효과를 0개 이상 가질 수 있습니다. 이 클래스 및 관련 API를 사용하면 하위 수준 COM XAudio2 API보다 더 빠르고 쉽게 오디오 애플리케이션을 개발할 수 있습니다. 오디오 그래프 사용에 대한 방법 지침은 오디오 그래프를 참조하세요.

를 호출 AudioGraph.CreateAsync하여 이 클래스의 인스턴스를 가져옵니다.

전체 오디오 그래프는 동일한 샘플 속도로 작동해야 합니다. 원본의 샘플 속도는 다를 수 있지만 즉시 다시 샘플링됩니다.

참고

사용할 수 있는 오디오 디바이스가 없으면 오디오 그래프를 인스턴스화할 수 없습니다.

선택적 미디어 기능 팩이 설치되어 있지 않으면 Windows 8 및 Windows 10의 N 및 KN 버전에서 AudioGraph를 인스턴스화할 수 없습니다. 자세한 내용은 Windows N 버전용 미디어 기능 팩을 참조하세요.

버전 기록

Windows 버전 SDK 버전 추가된 값
1607 14393 CreateBatchUpdater
1607 14393 CreateDeviceInputNodeAsync(MediaCategory,AudioEncodingProperties,DeviceInformation,AudioNodeEmitter)
1607 14393 CreateFileInputNodeAsync(IStorageFile,AudioNodeEmitter)
1607 14393 CreateFrameInputNode(AudioEncodingProperties,AudioNodeEmitter)
1607 14393 CreateSubmixNode(AudioEncodingProperties,AudioNodeEmitter)
1803 17134 CreateMediaSourceAudioInputNodeAsync(MediaSource)
1803 17134 CreateMediaSourceAudioInputNodeAsync(MediaSource,AudioNodeEmitter)

속성

CompletedQuantumCount

오디오 그래프에 대해 완료된 양자 수를 가져옵니다.

EncodingProperties

오디오 그래프의 인코딩 속성을 가져옵니다.

LatencyInSamples

오디오 그래프에서 지원하는 샘플의 대기 시간을 가져옵니다.

PrimaryRenderDevice

오디오 그래프의 기본 렌더링 디바이스를 가져옵니다.

RenderDeviceAudioProcessing

오디오 그래프의 오디오 처리 모드를 나타내는 값을 가져옵니다.

SamplesPerQuantum

오디오 그래프가 현재 작동 중인 양자당 샘플 수를 가져옵니다.

메서드

Close()

오디오 그래프를 닫고 연결된 리소스를 삭제합니다.

CreateAsync(AudioGraphSettings)

특정 설정을 사용하여 오디오 그래프를 만듭니다.

CreateBatchUpdater()

앱이 AudioGraph 일괄 업데이트 프로그램 개체를 닫거나 삭제하면 오디오 그래프의 모든 노드에 대한 모든 후속 수정이 누적된 다음 커밋되는 새 AudioGraphBatchUpdater 개체를 만듭니다.

CreateDeviceInputNodeAsync(MediaCategory)

AudioDeviceInputNode 마이크 또는 오디오 카드와 같은 기본 오디오 입력 장치에서 오디오 데이터를 오디오 그래프에 입력하는 값을 만듭니다.

CreateDeviceInputNodeAsync(MediaCategory, AudioEncodingProperties)

AudioDeviceInputNode 마이크 또는 오디오 카드와 같은 기본 오디오 입력 장치에서 오디오 데이터를 오디오 그래프에 입력하는 값을 만듭니다.

CreateDeviceInputNodeAsync(MediaCategory, AudioEncodingProperties, DeviceInformation)

AudioDeviceInputNode 마이크 또는 오디오 카드와 같은 지정된 오디오 입력 장치에서 오디오 데이터를 오디오 그래프에 입력하는 값을 만듭니다.

CreateDeviceInputNodeAsync(MediaCategory, AudioEncodingProperties, DeviceInformation, AudioNodeEmitter)

마이크 또는 오디오 카드와 같은 지정된 오디오 입력 디바이스의 오디오 그래프에 오디오 데이터를 입력하는 공간 오디오 사용 AudioDeviceInputNode 기능을 만듭니다.

CreateDeviceOutputNodeAsync()

오디오 그래프에서 스피커 또는 헤드폰과 같은 시스템의 기본 출력 장치로 오디오 데이터를 출력하는 새 AudioDeviceOutputNode 데이터를 만듭니다.

CreateFileInputNodeAsync(IStorageFile)

스토리지 파일에서 AudioFileInputNode 오디오 그래프에 오디오 데이터를 입력하는 파일을 만듭니다.

CreateFileInputNodeAsync(IStorageFile, AudioNodeEmitter)

스토리지 파일의 오디오 그래프에 오디오 데이터를 입력하는 공간 오디오 사용 AudioFileInputNode 기능을 만듭니다.

CreateFileOutputNodeAsync(IStorageFile)

오디오 그래프에서 지정된 스토리지 파일로 오디오 데이터를 출력하는 새 AudioFileOutuputNode 파일을 만듭니다.

CreateFileOutputNodeAsync(IStorageFile, MediaEncodingProfile)

오디오 그래프에서 지정된 스토리지 파일로 오디오 데이터를 출력하는 새 AudioFileOutuputNode 파일을 만듭니다.

CreateFrameInputNode()

AudioFrameInputNode 앱 구현 코드에서 생성된 오디오 데이터를 오디오 그래프에 입력하는 값을 만듭니다.

CreateFrameInputNode(AudioEncodingProperties)

AudioFrameInputNode앱 구현 코드에서 생성된 오디오 데이터를 오디오 그래프에 입력하는 지정된 인코딩 속성을 사용하여 만듭니다.

CreateFrameInputNode(AudioEncodingProperties, AudioNodeEmitter)

앱에서 구현한 AudioFrameInputNode코드에서 생성된 오디오 데이터를 오디오 그래프에 입력하는 지정된 인코딩 속성을 사용하여 공간 오디오 사용 기능을 만듭니다.

CreateFrameOutputNode()

오디오 그래프에서 앱 구현 코드로 오디오 데이터를 출력하는 새 AudioFrameOutputNode 데이터를 만듭니다.

CreateFrameOutputNode(AudioEncodingProperties)

오디오 그래프에서 앱 구현 코드로 오디오 데이터를 출력하는 지정된 인코딩 속성을 사용하여 새 AudioFrameOutputNode인코딩 속성을 만듭니다.

CreateMediaSourceAudioInputNodeAsync(MediaSource)

제공된 MediaSourceAudioInputNode MediaSource 개체의 오디오 그래프에 오디오 데이터를 입력하는 값을 만듭니다.

CreateMediaSourceAudioInputNodeAsync(MediaSource, AudioNodeEmitter)

제공 MediaSourceMediaSourceAudioInputNode 개체의 오디오 그래프에 오디오 데이터를 입력하는 공간 오디오 사용 기능을 만듭니다.

CreateSubmixNode()

AudioSubmixNode 하나 이상의 오디오 그래프 노드의 출력을 출력 노드 또는 다른 서브믹스 노드에 연결할 수 있는 단일 출력으로 혼합하는 항목을 만듭니다.

CreateSubmixNode(AudioEncodingProperties)

AudioSubmixNode 하나 이상의 오디오 그래프 노드의 출력을 출력 노드 또는 다른 서브믹스 노드에 연결할 수 있는 단일 출력으로 혼합하는 항목을 만듭니다.

CreateSubmixNode(AudioEncodingProperties, AudioNodeEmitter)

하나 이상의 오디오 그래프 노드의 출력을 출력 노드 또는 다른 서브믹스 노드에 연결할 수 있는 단일 출력으로 혼합하는 공간 오디오를 AudioSubmixNode 만듭니다.

ResetAllNodes()

오디오 그래프의 모든 노드를 다시 설정합니다.

Start()

오디오 그래프를 시작합니다.

Stop()

오디오 그래프를 중지합니다.

이벤트

QuantumProcessed

오디오 그래프가 지정된 양자를 처리했음을 알 수 있습니다.

QuantumStarted

오디오 그래프가 새 양자 처리를 시작했음을 알 수 있습니다.

UnrecoverableErrorOccurred

오디오 그래프 작업에서 복구할 수 없는 오디오 오류를 알 수 있습니다.

적용 대상

추가 정보