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

注解

音频图由输入节点、输出节点和子混合节点组成。 输入节点包括音频文件、音频设备和生成音频数据的代码。 输出节点还包括音频文件、音频设备和处理音频数据的代码。 当图形启动时,音频数据通过图形从输入节点流经任何子混合节点流向输出节点。 在将音频数据传递到下一个节点之前,每个节点可以具有零个或多个应用于音频数据的音频效果。 此类和相关 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)

创建一个新的 AudioFileOutputNode ,用于将音频数据从音频图输出到指定的存储文件。

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)

创建一个已启用空间音频的 MediaSourceAudioInputNode ,用于从提供的 MediaSource 对象将音频数据输入音频图。

CreateSubmixNode()

创建一个 AudioSubmixNode ,用于将一个或多个音频图节点的输出混合到可连接到输出节点或其他子混合节点的单个输出中。

CreateSubmixNode(AudioEncodingProperties)

创建一个 AudioSubmixNode ,用于将一个或多个音频图节点的输出混合到可连接到输出节点或其他子混合节点的单个输出中。

CreateSubmixNode(AudioEncodingProperties, AudioNodeEmitter)

创建启用了空间音频的 AudioSubmixNode ,该节点将一个或多个音频图节点的输出混合成可连接到输出节点或其他子混合节点的单个输出。

Dispose()

执行与释放或重置非托管资源关联的应用程序定义的任务。

ResetAllNodes()

重置音频图中的所有节点。

Start()

启动音频图。

Stop()

停止音频图。

事件

QuantumProcessed

通知音频图已处理指定的量子。

QuantumStarted

通知音频图已开始处理新的量子。

UnrecoverableErrorOccurred

通知音频图操作中出现不可恢复的音频错误。

适用于

另请参阅