AudioGraph AudioGraph AudioGraph AudioGraph Class

Definition

Represents an audio graph of connected input, output, and submix nodes that manipulate and route audio.

public : sealed class AudioGraph : IClosable, IAudioGraph, IAudioGraph2public sealed class AudioGraph : IDisposable, IAudioGraph, IAudioGraph2Public NotInheritable Class AudioGraph Implements IDisposable, IAudioGraph, IAudioGraph2// You can use this class in JavaScript.
Attributes
Windows 10 requirements
Device family
Windows 10 (introduced v10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)

Remarks

The audio graph is made up of input nodes, output nodes, and submix nodes. Input nodes include audio files, audio devices, and code that generates audio data. Output nodes also include audio files, audio devices, and code that processes audio data. When the graph is started, audio data flows through the graph from the input nodes, through any submix nodes, to the output nodes. Each node can have zero or more audio effects that are applied to the audio data before it is passed to the next node. This class and related APIs enable you to develop audio applications more quickly and easily than the low-level COM XAudio2 APIs. For how-to guidance on using audio graphs, see Audio graphs.

Get an instance of this class by calling AudioGraph.CreateAsync.

The entire audio graph must operate at the same sample rate. Sources can have different sample rates, but are resampled immediately.

Note

If no audio devices are available, the audio graph cannot be instantiated.

Properties

CompletedQuantumCount CompletedQuantumCount CompletedQuantumCount CompletedQuantumCount

Gets the completed quantum count for the audio graph.

public : ulong CompletedQuantumCount { get; }public ulong CompletedQuantumCount { get; }Public ReadOnly Property CompletedQuantumCount As ulong// You can use this property in JavaScript.
Value
ulong ulong ulong ulong

A value indicating the completed quantum count.

EncodingProperties EncodingProperties EncodingProperties EncodingProperties

Gets the encoding properties for the audio graph.

public : AudioEncodingProperties EncodingProperties { get; }public AudioEncodingProperties EncodingProperties { get; }Public ReadOnly Property EncodingProperties As AudioEncodingProperties// You can use this property in JavaScript.

Remarks

Specify the encoding properties for an audio graph by setting the AudioGraphSettings::EncodingProperties property before creating the audio graph with a call to CreateAsync.

LatencyInSamples LatencyInSamples LatencyInSamples LatencyInSamples

Gets the latency in samples that the audio graph supports.

public : int LatencyInSamples { get; }public int LatencyInSamples { get; }Public ReadOnly Property LatencyInSamples As int// You can use this property in JavaScript.
Value
int int int int

A value indicating the sample latency.

PrimaryRenderDevice PrimaryRenderDevice PrimaryRenderDevice PrimaryRenderDevice

Gets the primary render device for the audio graph.

public : DeviceInformation PrimaryRenderDevice { get; }public DeviceInformation PrimaryRenderDevice { get; }Public ReadOnly Property PrimaryRenderDevice As DeviceInformation// You can use this property in JavaScript.
Value
DeviceInformation DeviceInformation DeviceInformation DeviceInformation

The primary render device for the audio graph.

Remarks

Specify the primary rendering device for an audio graph by setting the AudioGraphSettings::PrimaryRenderDevice property before creating the audio graph with a call to CreateAsync.

RenderDeviceAudioProcessing RenderDeviceAudioProcessing RenderDeviceAudioProcessing RenderDeviceAudioProcessing

Gets a value that indicates the audio processing mode for the audio graph.

public : AudioProcessing RenderDeviceAudioProcessing { get; }public AudioProcessing RenderDeviceAudioProcessing { get; }Public ReadOnly Property RenderDeviceAudioProcessing As AudioProcessing// You can use this property in JavaScript.
Value
AudioProcessing AudioProcessing AudioProcessing AudioProcessing

A value that indicates the audio processing mode for the audio graph.

Remarks

Specify the audio processing mode for an audio graph by setting the AudioGraphSettings.AudioProcessing property before creating the audio graph with a call to CreateAsync.

SamplesPerQuantum SamplesPerQuantum SamplesPerQuantum SamplesPerQuantum

Gets the number of samples per quantum at which the audio graph is currently operating.

public : int SamplesPerQuantum { get; }public int SamplesPerQuantum { get; }Public ReadOnly Property SamplesPerQuantum As int// You can use this property in JavaScript.
Value
int int int int

A value indicating the number of samples per quantum.

Methods

Close() Close() Close() Close()

Closes the audio graph.

public : void Close()This member is not implemented in C#This member is not implemented in VB.Net// You can use this method in JavaScript.

CreateAsync(AudioGraphSettings) CreateAsync(AudioGraphSettings) CreateAsync(AudioGraphSettings) CreateAsync(AudioGraphSettings)

Creates an audio graph with specific settings.

public : static IAsyncOperation<CreateAudioGraphResult> CreateAsync(AudioGraphSettings settings)public static IAsyncOperation<CreateAudioGraphResult> CreateAsync(AudioGraphSettings settings)Public Static Function CreateAsync(settings As AudioGraphSettings) As IAsyncOperation( Of CreateAudioGraphResult )// You can use this method in JavaScript.
Parameters
settings
AudioGraphSettings AudioGraphSettings AudioGraphSettings AudioGraphSettings

An AudioGraphSettings object representing the source audio file.

Returns

CreateBatchUpdater() CreateBatchUpdater() CreateBatchUpdater() CreateBatchUpdater()

Creates a new AudioGraphBatchUpdater for the AudioGraph which causes all subsequent modifications to all nodes in the audio graph to be accumulated and then committed once your app closes or disposes of the batch updater object.

public : AudioGraphBatchUpdater CreateBatchUpdater()public AudioGraphBatchUpdater CreateBatchUpdater()Public Function CreateBatchUpdater() As AudioGraphBatchUpdater// You can use this method in JavaScript.
Returns
Additional features and requirements
Device family
Windows 10 Anniversary Edition (introduced v10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v3)

CreateDeviceInputNodeAsync(MediaCategory) CreateDeviceInputNodeAsync(MediaCategory) CreateDeviceInputNodeAsync(MediaCategory) CreateDeviceInputNodeAsync(MediaCategory)

Creates a device input node for the indicated media.

public : IAsyncOperation<CreateAudioDeviceInputNodeResult> CreateDeviceInputNodeAsync(MediaCategory category)public IAsyncOperation<CreateAudioDeviceInputNodeResult> CreateDeviceInputNodeAsync(MediaCategory category)Public Function CreateDeviceInputNodeAsync(category As MediaCategory) As IAsyncOperation( Of CreateAudioDeviceInputNodeResult )// You can use this method in JavaScript.
Parameters
category
MediaCategory MediaCategory MediaCategory MediaCategory

An enumeration value indicating the category of the media processed by this node.

Returns

An asynchronous operation that returns a CreateAudioDeviceInputNodeResult on completion. This object exposes a Status property, that indicates either that the operation was successful or the reason why the operation failed. The DeviceInputNode property provides a reference to the created input node on success.

See Also

CreateDeviceInputNodeAsync(MediaCategory, AudioEncodingProperties) CreateDeviceInputNodeAsync(MediaCategory, AudioEncodingProperties) CreateDeviceInputNodeAsync(MediaCategory, AudioEncodingProperties) CreateDeviceInputNodeAsync(MediaCategory, AudioEncodingProperties)

Creates a device input node for the indicated media and audio encoding properties.

public : IAsyncOperation<CreateAudioDeviceInputNodeResult> CreateDeviceInputNodeAsync(MediaCategory category, AudioEncodingProperties encodingProperties)public IAsyncOperation<CreateAudioDeviceInputNodeResult> CreateDeviceInputNodeAsync(MediaCategory category, AudioEncodingProperties encodingProperties)Public Function CreateDeviceInputNodeAsync(category As MediaCategory, encodingProperties As AudioEncodingProperties) As IAsyncOperation( Of CreateAudioDeviceInputNodeResult )// You can use this method in JavaScript.
Parameters
category
MediaCategory MediaCategory MediaCategory MediaCategory

An enumeration value indicating the category of the media processed by this node.

encodingProperties
AudioEncodingProperties AudioEncodingProperties AudioEncodingProperties AudioEncodingProperties

An object representing the audio encoding properties for the device input node.

Returns

An asynchronous operation that returns a CreateAudioDeviceInputNodeResult on completion. This object exposes a Status property, that indicates either that the operation was successful or the reason why the operation failed. The DeviceInputNode property provides a reference to the created input node on success.

Remarks

The encodingProperties parameter specifies the sample rate at which the created node will operate. Only uncompressed PCM and float formats are allowed.

See Also

CreateDeviceInputNodeAsync(MediaCategory, AudioEncodingProperties, DeviceInformation) CreateDeviceInputNodeAsync(MediaCategory, AudioEncodingProperties, DeviceInformation) CreateDeviceInputNodeAsync(MediaCategory, AudioEncodingProperties, DeviceInformation) CreateDeviceInputNodeAsync(MediaCategory, AudioEncodingProperties, DeviceInformation)

Creates a device input node for the indicated media, audio encoding properties, and device information.

public : IAsyncOperation<CreateAudioDeviceInputNodeResult> CreateDeviceInputNodeAsync(MediaCategory category, AudioEncodingProperties encodingProperties, DeviceInformation device)public IAsyncOperation<CreateAudioDeviceInputNodeResult> CreateDeviceInputNodeAsync(MediaCategory category, AudioEncodingProperties encodingProperties, DeviceInformation device)Public Function CreateDeviceInputNodeAsync(category As MediaCategory, encodingProperties As AudioEncodingProperties, device As DeviceInformation) As IAsyncOperation( Of CreateAudioDeviceInputNodeResult )// You can use this method in JavaScript.
Parameters
category
MediaCategory MediaCategory MediaCategory MediaCategory

An enumeration value indicating the category of the media processed by this node.

encodingProperties
AudioEncodingProperties AudioEncodingProperties AudioEncodingProperties AudioEncodingProperties

An object representing the audio encoding properties for the device input node.

device
DeviceInformation DeviceInformation DeviceInformation DeviceInformation

An object representing the device associated with the device input node.

Returns

An asynchronous operation that returns a CreateAudioDeviceInputNodeResult on completion. This object exposes a Status property, that indicates either that the operation was successful or the reason why the operation failed. The DeviceInputNode property provides a reference to the created input node on success.

Remarks

The encodingProperties parameter specifies the sample rate at which the created node will operate. Only uncompressed PCM and float formats are allowed.

See Also

CreateDeviceInputNodeAsync(MediaCategory, AudioEncodingProperties, DeviceInformation, AudioNodeEmitter) CreateDeviceInputNodeAsync(MediaCategory, AudioEncodingProperties, DeviceInformation, AudioNodeEmitter) CreateDeviceInputNodeAsync(MediaCategory, AudioEncodingProperties, DeviceInformation, AudioNodeEmitter) CreateDeviceInputNodeAsync(MediaCategory, AudioEncodingProperties, DeviceInformation, AudioNodeEmitter)

Creates a device input node that supports spatial audio for the indicated media, audio encoding properties, and device information.

public : IAsyncOperation<CreateAudioDeviceInputNodeResult> CreateDeviceInputNodeAsync(MediaCategory category, AudioEncodingProperties encodingProperties, DeviceInformation device, AudioNodeEmitter emitter)public IAsyncOperation<CreateAudioDeviceInputNodeResult> CreateDeviceInputNodeAsync(MediaCategory category, AudioEncodingProperties encodingProperties, DeviceInformation device, AudioNodeEmitter emitter)Public Function CreateDeviceInputNodeAsync(category As MediaCategory, encodingProperties As AudioEncodingProperties, device As DeviceInformation, emitter As AudioNodeEmitter) As IAsyncOperation( Of CreateAudioDeviceInputNodeResult )// You can use this method in JavaScript.
Parameters
category
MediaCategory MediaCategory MediaCategory MediaCategory

An enumeration value indicating the category of the media processed by this node.

encodingProperties
AudioEncodingProperties AudioEncodingProperties AudioEncodingProperties AudioEncodingProperties

An object representing the audio encoding properties for the device input node.

device
DeviceInformation DeviceInformation DeviceInformation DeviceInformation

An object representing the device associated with the device input node.

emitter
AudioNodeEmitter AudioNodeEmitter AudioNodeEmitter AudioNodeEmitter

An object that describes the position and other physical characteristics of the emitter from which the node's audio is emitted when spatial audio processing is used.

Returns

An asynchronous operation that returns a CreateAudioDeviceInputNodeResult on completion. This object exposes a Status property, that indicates either that the operation was successful or the reason why the operation failed. The DeviceInputNode property provides a reference to the created input node on success.

Additional features and requirements
Device family
Windows 10 Anniversary Edition (introduced v10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v3)
See Also

CreateDeviceOutputNodeAsync() CreateDeviceOutputNodeAsync() CreateDeviceOutputNodeAsync() CreateDeviceOutputNodeAsync()

Creates a new device output node for the audio graph.

public : IAsyncOperation<CreateAudioDeviceOutputNodeResult> CreateDeviceOutputNodeAsync()public IAsyncOperation<CreateAudioDeviceOutputNodeResult> CreateDeviceOutputNodeAsync()Public Function CreateDeviceOutputNodeAsync() As IAsyncOperation( Of CreateAudioDeviceOutputNodeResult )// You can use this method in JavaScript.
Returns

An asynchronous operation that returns a CreateAudioDeviceOutputNodeResult on completion. This object exposes a Status property, that indicates either that the operation was successful or the reason why the operation failed. The DeviceOutputNode property provides a reference to the created output node on success.

CreateFileInputNodeAsync(IStorageFile) CreateFileInputNodeAsync(IStorageFile) CreateFileInputNodeAsync(IStorageFile) CreateFileInputNodeAsync(IStorageFile)

Creates a file input node for the audio graph.

public : IAsyncOperation<CreateAudioFileInputNodeResult> CreateFileInputNodeAsync(IStorageFile file)public IAsyncOperation<CreateAudioFileInputNodeResult> CreateFileInputNodeAsync(IStorageFile file)Public Function CreateFileInputNodeAsync(file As IStorageFile) As IAsyncOperation( Of CreateAudioFileInputNodeResult )// You can use this method in JavaScript.
Parameters
file
IStorageFile IStorageFile IStorageFile IStorageFile

A StorageFile object representing the file associated with the file input node.

Returns

CreateFileInputNodeAsync(IStorageFile, AudioNodeEmitter) CreateFileInputNodeAsync(IStorageFile, AudioNodeEmitter) CreateFileInputNodeAsync(IStorageFile, AudioNodeEmitter) CreateFileInputNodeAsync(IStorageFile, AudioNodeEmitter)

Creates a file input node that supports spatial audio.

public : IAsyncOperation<CreateAudioFileInputNodeResult> CreateFileInputNodeAsync(IStorageFile file, AudioNodeEmitter emitter)public IAsyncOperation<CreateAudioFileInputNodeResult> CreateFileInputNodeAsync(IStorageFile file, AudioNodeEmitter emitter)Public Function CreateFileInputNodeAsync(file As IStorageFile, emitter As AudioNodeEmitter) As IAsyncOperation( Of CreateAudioFileInputNodeResult )// You can use this method in JavaScript.
Parameters
file
IStorageFile IStorageFile IStorageFile IStorageFile

A IStorageFile object representing the file associated with the file input node.

emitter
AudioNodeEmitter AudioNodeEmitter AudioNodeEmitter AudioNodeEmitter

An object that describes the position and other physical characteristics of the emitter from which the node's audio is emitted when spatial audio processing is used.

Returns

An asynchronous operation that returns a CreateAudioFileInputNodeResult on completion. This object exposes a Status property, that indicates either that the operation was successful or the reason why the operation failed. The FileInputNode property provides a reference to the created input node on success.

Additional features and requirements
Device family
Windows 10 Anniversary Edition (introduced v10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v3)

Remarks

To create a file input node with an emitter, the audio file must be encoded in mono at 48kHz.

See Also

CreateFileOutputNodeAsync(IStorageFile) CreateFileOutputNodeAsync(IStorageFile) CreateFileOutputNodeAsync(IStorageFile) CreateFileOutputNodeAsync(IStorageFile)

Creates a file output node for the indicated file.

public : IAsyncOperation<CreateAudioFileOutputNodeResult> CreateFileOutputNodeAsync(IStorageFile file)public IAsyncOperation<CreateAudioFileOutputNodeResult> CreateFileOutputNodeAsync(IStorageFile file)Public Function CreateFileOutputNodeAsync(file As IStorageFile) As IAsyncOperation( Of CreateAudioFileOutputNodeResult )// You can use this method in JavaScript.
Parameters
file
IStorageFile IStorageFile IStorageFile IStorageFile

A StorageFile object representing the file.

Returns

Remarks

The file output node created by this method defaults to a WAV file format with the same AudioEncodingProperties properties as the AudioGraph to which it belongs. To create a file output node with custom encoding properties use the CreateFileOutputNodeAsync(IStorageFile, MediaEncodingProfile) overload.

See Also

CreateFileOutputNodeAsync(IStorageFile, MediaEncodingProfile) CreateFileOutputNodeAsync(IStorageFile, MediaEncodingProfile) CreateFileOutputNodeAsync(IStorageFile, MediaEncodingProfile) CreateFileOutputNodeAsync(IStorageFile, MediaEncodingProfile)

Creates a file output node for the indicated file and media encoding profile.

public : IAsyncOperation<CreateAudioFileOutputNodeResult> CreateFileOutputNodeAsync(IStorageFile file, MediaEncodingProfile fileEncodingProfile)public IAsyncOperation<CreateAudioFileOutputNodeResult> CreateFileOutputNodeAsync(IStorageFile file, MediaEncodingProfile fileEncodingProfile)Public Function CreateFileOutputNodeAsync(file As IStorageFile, fileEncodingProfile As MediaEncodingProfile) As IAsyncOperation( Of CreateAudioFileOutputNodeResult )// You can use this method in JavaScript.
Parameters
file
IStorageFile IStorageFile IStorageFile IStorageFile

A StorageFile object representing the file.

fileEncodingProfile
MediaEncodingProfile MediaEncodingProfile MediaEncodingProfile MediaEncodingProfile

An objecting representing the media encoding profile.

Returns

Remarks

The fileEncodingProfile parameter specifies the MediaEncodingProfile with which the output file will be created. If this parameter is null, the encoding profile defaults to a WAV file format with the same AudioEncodingProperties as the AudioGraph to which it belongs.

See Also

CreateFrameInputNode() CreateFrameInputNode() CreateFrameInputNode() CreateFrameInputNode()

Creates a simple audio frame input node for the audio graph.

public : AudioFrameInputNode CreateFrameInputNode()public AudioFrameInputNode CreateFrameInputNode()Public Function CreateFrameInputNode() As AudioFrameInputNode// You can use this method in JavaScript.
Returns
See Also

CreateFrameInputNode(AudioEncodingProperties) CreateFrameInputNode(AudioEncodingProperties) CreateFrameInputNode(AudioEncodingProperties) CreateFrameInputNode(AudioEncodingProperties)

Creates an audio frame input node with the specified encoding properties.

public : AudioFrameInputNode CreateFrameInputNode(AudioEncodingProperties encodingProperties)public AudioFrameInputNode CreateFrameInputNode(AudioEncodingProperties encodingProperties)Public Function CreateFrameInputNode(encodingProperties As AudioEncodingProperties) As AudioFrameInputNode// You can use this method in JavaScript.
Parameters
encodingProperties
AudioEncodingProperties AudioEncodingProperties AudioEncodingProperties AudioEncodingProperties

An object representing encoding properties.

Returns

Remarks

The encodingProperties parameter specifies the sample rate at which the created node will operate. Only uncompressed PCM and float formats are allowed.

See Also

CreateFrameInputNode(AudioEncodingProperties, AudioNodeEmitter) CreateFrameInputNode(AudioEncodingProperties, AudioNodeEmitter) CreateFrameInputNode(AudioEncodingProperties, AudioNodeEmitter) CreateFrameInputNode(AudioEncodingProperties, AudioNodeEmitter)

Creates an audio frame input node with the specified encoding properties that supports spatial audio.

public : AudioFrameInputNode CreateFrameInputNode(AudioEncodingProperties encodingProperties, AudioNodeEmitter emitter)public AudioFrameInputNode CreateFrameInputNode(AudioEncodingProperties encodingProperties, AudioNodeEmitter emitter)Public Function CreateFrameInputNode(encodingProperties As AudioEncodingProperties, emitter As AudioNodeEmitter) As AudioFrameInputNode// You can use this method in JavaScript.
Parameters
encodingProperties
AudioEncodingProperties AudioEncodingProperties AudioEncodingProperties AudioEncodingProperties

An object representing encoding properties.

emitter
AudioNodeEmitter AudioNodeEmitter AudioNodeEmitter AudioNodeEmitter

An object that describes the position and other physical characteristics of the emitter from which the node's audio is emitted when spatial audio processing is used.

Returns
Additional features and requirements
Device family
Windows 10 Anniversary Edition (introduced v10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v3)

Remarks

The encodingProperties parameter specifies the sample rate at which the created node will operate. Only uncompressed PCM and float formats are allowed.

See Also

CreateFrameOutputNode() CreateFrameOutputNode() CreateFrameOutputNode() CreateFrameOutputNode()

Creates a simple frame output node for the audio graph.

public : AudioFrameOutputNode CreateFrameOutputNode()public AudioFrameOutputNode CreateFrameOutputNode()Public Function CreateFrameOutputNode() As AudioFrameOutputNode// You can use this method in JavaScript.
Returns
See Also

CreateFrameOutputNode(AudioEncodingProperties) CreateFrameOutputNode(AudioEncodingProperties) CreateFrameOutputNode(AudioEncodingProperties) CreateFrameOutputNode(AudioEncodingProperties)

Creates a frame output node from encoding properties.

public : AudioFrameOutputNode CreateFrameOutputNode(AudioEncodingProperties encodingProperties)public AudioFrameOutputNode CreateFrameOutputNode(AudioEncodingProperties encodingProperties)Public Function CreateFrameOutputNode(encodingProperties As AudioEncodingProperties) As AudioFrameOutputNode// You can use this method in JavaScript.
Parameters
encodingProperties
AudioEncodingProperties AudioEncodingProperties AudioEncodingProperties AudioEncodingProperties

An object representing audio encoding properties.

Returns

Remarks

The encodingProperties parameter specifies the sample rate at which the created node will operate. Only uncompressed PCM and float formats are allowed.

See Also

CreateSubmixNode() CreateSubmixNode() CreateSubmixNode() CreateSubmixNode()

Creates an audio graph submix node that mixes the output of one or more nodes into single output that can be connected to output nodes or other submix nodes.

public : AudioSubmixNode CreateSubmixNode()public AudioSubmixNode CreateSubmixNode()Public Function CreateSubmixNode() As AudioSubmixNode// You can use this method in JavaScript.
Returns
See Also

CreateSubmixNode(AudioEncodingProperties) CreateSubmixNode(AudioEncodingProperties) CreateSubmixNode(AudioEncodingProperties) CreateSubmixNode(AudioEncodingProperties)

Creates an audio graph submix node that mixes the output of one or more nodes into single output that can be connected to output nodes or other submix nodes.

public : AudioSubmixNode CreateSubmixNode(AudioEncodingProperties encodingProperties)public AudioSubmixNode CreateSubmixNode(AudioEncodingProperties encodingProperties)Public Function CreateSubmixNode(encodingProperties As AudioEncodingProperties) As AudioSubmixNode// You can use this method in JavaScript.
Parameters
encodingProperties
AudioEncodingProperties AudioEncodingProperties AudioEncodingProperties AudioEncodingProperties

An object representing audio encoding properties.

Returns

Remarks

The encodingProperties parameter specifies the sample rate at which the created node will operate. Only uncompressed PCM and float formats are allowed.

See Also

CreateSubmixNode(AudioEncodingProperties, AudioNodeEmitter) CreateSubmixNode(AudioEncodingProperties, AudioNodeEmitter) CreateSubmixNode(AudioEncodingProperties, AudioNodeEmitter) CreateSubmixNode(AudioEncodingProperties, AudioNodeEmitter)

Creates an audio graph submix node that mixes the output of one or more nodes into single output that can be connected to output nodes or other submix nodes and that supports spatial audio.

public : AudioSubmixNode CreateSubmixNode(AudioEncodingProperties encodingProperties, AudioNodeEmitter emitter)public AudioSubmixNode CreateSubmixNode(AudioEncodingProperties encodingProperties, AudioNodeEmitter emitter)Public Function CreateSubmixNode(encodingProperties As AudioEncodingProperties, emitter As AudioNodeEmitter) As AudioSubmixNode// You can use this method in JavaScript.
Parameters
encodingProperties
AudioEncodingProperties AudioEncodingProperties AudioEncodingProperties AudioEncodingProperties

An object representing audio encoding properties.

emitter
AudioNodeEmitter AudioNodeEmitter AudioNodeEmitter AudioNodeEmitter

An object that describes the position and other physical characteristics of the emitter from which the node's audio is emitted when spatial audio processing is used.

Returns
Additional features and requirements
Device family
Windows 10 Anniversary Edition (introduced v10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v3)
See Also

Dispose() Dispose() Dispose() Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

This member is not implemented in C++void Dispose()Sub Disposevoid Dispose()

ResetAllNodes() ResetAllNodes() ResetAllNodes() ResetAllNodes()

Resets all nodes in the audio graph.

public : void ResetAllNodes()public void ResetAllNodes()Public Function ResetAllNodes() As void// You can use this method in JavaScript.

Start() Start() Start() Start()

Starts the audio graph.

public : void Start()public void Start()Public Function Start() As void// You can use this method in JavaScript.

Remarks

Starting and stopping the audio graph does not affect the state of the individual nodes in the graph. Calling Start on the audio graph causes all nodes that are in the started state to be processed.

Stop() Stop() Stop() Stop()

Stops the audio graph.

public : void Stop()public void Stop()Public Function Stop() As void// You can use this method in JavaScript.

Remarks

Starting and stopping the audio graph does not affect the state of the individual nodes in the graph. Calling Start on the audio graph causes all nodes that are in the started state to be processed.

Events

QuantumProcessed QuantumProcessed QuantumProcessed QuantumProcessed

Notifies that the audio graph has processed the specified quantum.

public : event TypedEventHandler QuantumProcessed<AudioGraph,  object>public event TypedEventHandler QuantumProcessed<AudioGraph,  object>Public Event QuantumProcessed<AudioGraph,  object>// You can use this event in JavaScript.

Remarks

The QuantumProcessed event is asynchronous, which means that you can update the properties and state of the AudioGraph and individual audio nodes in the handler for this event. However, because this event is asynchronous and raised only after the audio engine has completed processing, it is not raised on a regular cadence and it should not be used for synchronized processing of audio data such as that obtained from the AudioFrameOutputNode.GetFrame method. Instead, it is recommended that you use the QuantumStarted event for synchronized audio processing.

QuantumStarted QuantumStarted QuantumStarted QuantumStarted

Notifies that the audio graph has started processing a new quantum.

public : event TypedEventHandler QuantumStarted<AudioGraph,  object>public event TypedEventHandler QuantumStarted<AudioGraph,  object>Public Event QuantumStarted<AudioGraph,  object>// You can use this event in JavaScript.

Remarks

The QuantumStarted event is synchronous, which means that you can't update the properties or state of the AudioGraph or the individual audio nodes in the handler for this event. Attempting perform an operation such as stopping the audio graph or adding, removing, or starting an individual audio node will result in an exception being thrown. You can change the state of the graph and its nodes from within the asynchronous QuantumProcessed event handler.

Because this event is synchronous and fires regularly on the processing cadence of the audio graph, the event handler can be used for synchronized processing of audio data, such as that obtained from the AudioFrameOutputNode.GetFrame method.

UnrecoverableErrorOccurred UnrecoverableErrorOccurred UnrecoverableErrorOccurred UnrecoverableErrorOccurred

Notifies of an unrecoverable audio error in audio graph operation.

public : event TypedEventHandler UnrecoverableErrorOccurred<AudioGraph,  AudioGraphUnrecoverableErrorOccurredEventArgs>public event TypedEventHandler UnrecoverableErrorOccurred<AudioGraph,  AudioGraphUnrecoverableErrorOccurredEventArgs>Public Event UnrecoverableErrorOccurred<AudioGraph,  AudioGraphUnrecoverableErrorOccurredEventArgs>// You can use this event in JavaScript.

See Also