Freigeben über


AudioGraph Klasse

Definition

Stellt ein Audiodiagramm von verbundenen Eingabe-, Ausgabe- und Submixknoten dar, die Audio bearbeiten und weiterleiten.

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
Vererbung
Object Platform::Object IInspectable AudioGraph
Attribute
Implementiert

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)
App-Funktionen
backgroundMediaRecording

Hinweise

Das Audiodiagramm besteht aus Eingabeknoten, Ausgabeknoten und Submixknoten. Eingabeknoten umfassen Audiodateien, Audiogeräte und Code, der Audiodaten generiert. Ausgabeknoten enthalten auch Audiodateien, Audiogeräte und Code, der Audiodaten verarbeitet. Wenn das Diagramm gestartet wird, durchlaufen Audiodaten das Diagramm von den Eingabeknoten über alle Submixknoten zu den Ausgabeknoten. Jeder Knoten kann null oder mehr Audioeffekte aufweisen, die auf die Audiodaten angewendet werden, bevor sie an den nächsten Knoten übergeben werden. Mit dieser Klasse und zugehörigen APIs können Sie Audioanwendungen schneller und einfacher entwickeln als die COM XAudio2-APIs auf niedriger Ebene. Anleitungen zur Verwendung von Audiographen finden Sie unter Audiographen.

Rufen Sie eine instance dieser Klasse ab, indem Sie AudioGraph.CreateAsync aufrufen.

Das gesamte Audiodiagramm muss mit der gleichen Samplerate arbeiten. Quellen können unterschiedliche Abtastraten aufweisen, werden aber sofort neu gestampelt.

Hinweis

Wenn keine Audiogeräte verfügbar sind, kann das Audiodiagramm nicht instanziiert werden.

AudioGraph kann nicht für die N- und KN-Editionen von Windows 8 und Windows 10 instanziiert werden, es sei denn, das optionale Media Feature Pack wurde installiert. Weitere Informationen finden Sie unter Media Feature Pack für Windows N-Editionen.

Versionsverlauf

Windows-Version SDK-Version Wertschöpfung
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)

Eigenschaften

CompletedQuantumCount

Ruft die abgeschlossene Quantenanzahl für das Audiodiagramm ab.

EncodingProperties

Ruft die Codierungseigenschaften für das Audiodiagramm ab.

LatencyInSamples

Ruft die Latenz in Beispielen ab, die das Audiodiagramm unterstützt.

PrimaryRenderDevice

Ruft das primäre Rendergerät für das Audiodiagramm ab.

RenderDeviceAudioProcessing

Ruft einen Wert ab, der den Audioverarbeitungsmodus für das Audiodiagramm angibt.

SamplesPerQuantum

Ruft die Anzahl von Beispielen pro Quanten ab, bei denen das Audiodiagramm derzeit ausgeführt wird.

Methoden

Close()

Schließt das Audiodiagramm und entsorgt zugeordnete Ressourcen.

CreateAsync(AudioGraphSettings)

Erstellt ein Audiodiagramm mit bestimmten Einstellungen.

CreateBatchUpdater()

Erstellt einen neuen AudioGraphBatchUpdater für AudioGraph , der dazu führt, dass alle nachfolgenden Änderungen an allen Knoten im Audiodiagramm akkumuliert und dann committet werden, sobald Ihre App das Batchupdater-Objekt schließt oder entsorgt.

CreateDeviceInputNodeAsync(MediaCategory)

Erstellt einen AudioDeviceInputNode, der Audiodaten vom Standardaudioeingabegerät, z. B. einem Mikrofon oder einem Audio Karte, in das Audiodiagramm eingibt.

CreateDeviceInputNodeAsync(MediaCategory, AudioEncodingProperties)

Erstellt einen AudioDeviceInputNode, der Audiodaten vom Standardgerät für die Audioeingabe wie mikrofon oder audio Karte in das Audiodiagramm eingibt.

CreateDeviceInputNodeAsync(MediaCategory, AudioEncodingProperties, DeviceInformation)

Erstellt einen AudioDeviceInputNode, der Audiodaten vom angegebenen Audioeingabegerät wie einem Mikrofon oder einem Audio-Karte in das Audiodiagramm eingibt.

CreateDeviceInputNodeAsync(MediaCategory, AudioEncodingProperties, DeviceInformation, AudioNodeEmitter)

Erstellt einen audiofähigen AudioDeviceInputNode, der Audiodaten vom angegebenen Audioeingabegerät wie einem Mikrofon oder einem Audio-Karte in das Audiodiagramm eingibt.

CreateDeviceOutputNodeAsync()

Erstellt einen neuen AudioDeviceOutputNode , der Audiodaten aus dem Audiodiagramm an das Standardausgabegerät des Systems ausgibt, z. B. Lautsprecher oder Kopfhörer.

CreateFileInputNodeAsync(IStorageFile)

Erstellt einen AudioFileInputNode , der Audiodaten aus einer Speicherdatei in das Audiodiagramm eingibt.

CreateFileInputNodeAsync(IStorageFile, AudioNodeEmitter)

Erstellt einen audiofähigen AudioFileInputNode , der Audiodaten aus einer Speicherdatei in das Audiodiagramm eingibt.

CreateFileOutputNodeAsync(IStorageFile)

Erstellt einen neuen AudioFileOutputNode , der Audiodaten aus dem Audiodiagramm in die angegebene Speicherdatei ausgibt.

CreateFileOutputNodeAsync(IStorageFile, MediaEncodingProfile)

Erstellt einen neuen AudioFileOutuputNode , der Audiodaten aus dem Audiodiagramm in die angegebene Speicherdatei ausgibt.

CreateFrameInputNode()

Erstellt einen AudioFrameInputNode , der Audiodaten eingibt, die von app-implementiertem Code in das Audiodiagramm generiert wurden.

CreateFrameInputNode(AudioEncodingProperties)

Erstellt einen AudioFrameInputNode mit den angegebenen Codierungseigenschaften, der Audiodaten eingibt, die von app-implementiertem Code in das Audiodiagramm generiert wurden.

CreateFrameInputNode(AudioEncodingProperties, AudioNodeEmitter)

Erstellt einen audiofähigen AudioFrameInputNode mit den angegebenen Codierungseigenschaften, der Audiodaten eingibt, die von app-implementiertem Code generiert wurden, in das Audiodiagramm eingibt.

CreateFrameOutputNode()

Erstellt einen neuen AudioFrameOutputNode , der Audiodaten aus dem Audiodiagramm in App-implementierten Code ausgibt.

CreateFrameOutputNode(AudioEncodingProperties)

Erstellt einen neuen AudioFrameOutputNode mit den angegebenen Codierungseigenschaften, der Audiodaten aus dem Audiodiagramm in app-implementierten Code ausgibt.

CreateMediaSourceAudioInputNodeAsync(MediaSource)

Erstellt einen MediaSourceAudioInputNode , der Audiodaten aus dem bereitgestellten MediaSource-Objekt in das Audiodiagramm eingibt.

CreateMediaSourceAudioInputNodeAsync(MediaSource, AudioNodeEmitter)

Erstellt einen räumlichen Audio-fähigen MediaSourceAudioInputNode , der Audiodaten aus dem bereitgestellten MediaSource-Objekt in das Audiodiagramm eingibt.

CreateSubmixNode()

Erstellt einen AudioSubmixNode , der die Ausgabe eines oder mehrerer Audiodiagrammknoten zu einer einzelnen Ausgabe mischt, die mit Ausgabeknoten oder anderen Submixknoten verbunden werden kann.

CreateSubmixNode(AudioEncodingProperties)

Erstellt einen AudioSubmixNode , der die Ausgabe eines oder mehrerer Audiodiagrammknoten zu einer einzelnen Ausgabe mischt, die mit Ausgabeknoten oder anderen Submixknoten verbunden werden kann.

CreateSubmixNode(AudioEncodingProperties, AudioNodeEmitter)

Erstellt einen AudioSubmixNode mit Räumlichem AudiosubmixNode , der die Ausgabe eines oder mehrerer Audiodiagrammknoten zu einer einzelnen Ausgabe mischt, die mit Ausgabeknoten oder anderen Submixknoten verbunden werden kann.

Dispose()

Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.

ResetAllNodes()

Setzt alle Knoten im Audiodiagramm zurück.

Start()

Startet das Audiodiagramm.

Stop()

Beendet das Audiodiagramm.

Ereignisse

QuantumProcessed

Benachrichtigt, dass das Audiodiagramm das angegebene Quanten verarbeitet hat.

QuantumStarted

Benachrichtigt, dass das Audiodiagramm mit der Verarbeitung eines neuen Quantens begonnen hat.

UnrecoverableErrorOccurred

Benachrichtigt einen nicht behebbaren Audiofehler im Audiodiagrammvorgang.

Gilt für:

Weitere Informationen