다음을 통해 공유


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 Platform::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를 호출하여 이 클래스의 instance 가져옵니다.

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

참고

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

선택적 미디어 기능 팩이 설치되지 않은 한 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)

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

CreateFileOutputNodeAsync(IStorageFile, MediaEncodingProfile)

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

CreateFrameInputNode()

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

CreateFrameInputNode(AudioEncodingProperties)

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

CreateFrameInputNode(AudioEncodingProperties, AudioNodeEmitter)

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

CreateFrameOutputNode()

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

CreateFrameOutputNode(AudioEncodingProperties)

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

CreateMediaSourceAudioInputNodeAsync(MediaSource)

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

CreateMediaSourceAudioInputNodeAsync(MediaSource, AudioNodeEmitter)

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

CreateSubmixNode()

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

CreateSubmixNode(AudioEncodingProperties)

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

CreateSubmixNode(AudioEncodingProperties, AudioNodeEmitter)

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

Dispose()

관리되지 않는 리소스의 확보, 해제 또는 다시 설정과 관련된 애플리케이션 정의 작업을 수행합니다.

ResetAllNodes()

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

Start()

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

Stop()

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

이벤트

QuantumProcessed

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

QuantumStarted

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

UnrecoverableErrorOccurred

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

적용 대상

추가 정보