Compartilhar via


AudioGraph Classe

Definição

Representa um grafo de áudio de nós de entrada, saída e submixe conectados que manipulam e roteiam áudio.

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
Herança
Object Platform::Object IInspectable AudioGraph
Atributos
Implementações

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)
Funcionalidades do aplicativo
backgroundMediaRecording

Comentários

O grafo de áudio é composto por nós de entrada, nós de saída e nós de submix. Os nós de entrada incluem arquivos de áudio, dispositivos de áudio e código que gera dados de áudio. Os nós de saída também incluem arquivos de áudio, dispositivos de áudio e código que processa dados de áudio. Quando o grafo é iniciado, os dados de áudio fluem pelo grafo dos nós de entrada, por meio de quaisquer nós de submix, para os nós de saída. Cada nó pode ter zero ou mais efeitos de áudio que são aplicados aos dados de áudio antes de serem passados para o próximo nó. Essa classe e as APIs relacionadas permitem que você desenvolva aplicativos de áudio com mais rapidez e facilidade do que as APIs COM XAudio2 de baixo nível. Para obter diretrizes sobre como usar grafos de áudio, consulte Gráficos de áudio.

Obtenha uma instância dessa classe chamando AudioGraph.CreateAsync.

Todo o grafo de áudio deve operar na mesma taxa de amostragem. As fontes podem ter taxas de amostragem diferentes, mas são resampládas imediatamente.

Observação

Se nenhum dispositivo de áudio estiver disponível, o grafo de áudio não poderá ser instanciado.

O AudioGraph não pode ser instanciado nas edições N e KN do Windows 8 e Windows 10, a menos que o Feature Pack de Mídia opcional tenha sido instalado. Para obter mais informações, consulte Media Feature Pack para edições do Windows N.

Histórico de versão

Versão do Windows Versão do SDK Valor adicionado
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)

Propriedades

CompletedQuantumCount

Obtém a contagem quântica concluída para o grafo de áudio.

EncodingProperties

Obtém as propriedades de codificação para o grafo de áudio.

LatencyInSamples

Obtém a latência em exemplos compatíveis com o grafo de áudio.

PrimaryRenderDevice

Obtém o dispositivo de renderização primário para o grafo de áudio.

RenderDeviceAudioProcessing

Obtém um valor que indica o modo de processamento de áudio para o grafo de áudio.

SamplesPerQuantum

Obtém o número de exemplos por quantum no qual o grafo de áudio está operando no momento.

Métodos

Close()

Fecha o grafo de áudio e descarta os recursos associados.

CreateAsync(AudioGraphSettings)

Cria um grafo de áudio com configurações específicas.

CreateBatchUpdater()

Cria um novo AudioGraphBatchUpdater para o AudioGraph , o que faz com que todas as modificações subsequentes em todos os nós no grafo de áudio sejam acumuladas e confirmadas depois que o aplicativo fecha ou descarta o objeto do atualizador de lote.

CreateDeviceInputNodeAsync(MediaCategory)

Cria um AudioDeviceInputNode que insere dados de áudio no grafo de áudio do dispositivo de entrada de áudio padrão, como um microfone ou cartão de áudio.

CreateDeviceInputNodeAsync(MediaCategory, AudioEncodingProperties)

Cria um AudioDeviceInputNode que insere dados de áudio no grafo de áudio do dispositivo de entrada de áudio padrão, como um microfone ou áudio cartão.

CreateDeviceInputNodeAsync(MediaCategory, AudioEncodingProperties, DeviceInformation)

Cria um AudioDeviceInputNode que insere dados de áudio no grafo de áudio do dispositivo de entrada de áudio especificado, como um microfone ou cartão de áudio.

CreateDeviceInputNodeAsync(MediaCategory, AudioEncodingProperties, DeviceInformation, AudioNodeEmitter)

Cria um AudioDeviceInputNode habilitado para áudio espacial que insere dados de áudio no grafo de áudio do dispositivo de entrada de áudio especificado, como um microfone ou cartão de áudio.

CreateDeviceOutputNodeAsync()

Cria um novo AudioDeviceOutputNode que gera dados de áudio do grafo de áudio para o dispositivo de saída padrão do sistema, como alto-falantes ou fones de ouvido.

CreateFileInputNodeAsync(IStorageFile)

Cria um AudioFileInputNode que insere dados de áudio no grafo de áudio de um arquivo de armazenamento.

CreateFileInputNodeAsync(IStorageFile, AudioNodeEmitter)

Cria um AudioFileInputNode habilitado para áudio espacial que insira dados de áudio no grafo de áudio de um arquivo de armazenamento.

CreateFileOutputNodeAsync(IStorageFile)

Cria um novo AudioFileOutputNode que gera dados de áudio do grafo de áudio para o arquivo de armazenamento especificado.

CreateFileOutputNodeAsync(IStorageFile, MediaEncodingProfile)

Cria um novo AudioFileOutuputNode que gera dados de áudio do grafo de áudio para o arquivo de armazenamento especificado.

CreateFrameInputNode()

Cria um AudioFrameInputNode que insere dados de áudio gerados pelo código implementado pelo aplicativo no grafo de áudio.

CreateFrameInputNode(AudioEncodingProperties)

Cria um AudioFrameInputNode, com as propriedades de codificação especificadas, que insere dados de áudio gerados pelo código implementado pelo aplicativo no grafo de áudio.

CreateFrameInputNode(AudioEncodingProperties, AudioNodeEmitter)

Cria um AudioFrameInputNode habilitado para áudio espacial, com as propriedades de codificação especificadas, que insere dados de áudio gerados pelo código implementado pelo aplicativo no grafo de áudio.

CreateFrameOutputNode()

Cria um novo AudioFrameOutputNode que gera dados de áudio do grafo de áudio para o código implementado pelo aplicativo.

CreateFrameOutputNode(AudioEncodingProperties)

Cria um novo AudioFrameOutputNode, com as propriedades de codificação especificadas, que gera dados de áudio do grafo de áudio para o código implementado pelo aplicativo.

CreateMediaSourceAudioInputNodeAsync(MediaSource)

Cria um MediaSourceAudioInputNode que insira dados de áudio no grafo de áudio do objeto MediaSource fornecido.

CreateMediaSourceAudioInputNodeAsync(MediaSource, AudioNodeEmitter)

Cria um MediaSourceAudioInputNode habilitado para áudio espacial que insira dados de áudio no grafo de áudio do objeto MediaSource fornecido.

CreateSubmixNode()

Cria um AudioSubmixNode que combina a saída de um ou mais nós de grafo de áudio em uma única saída que pode ser conectada a nós de saída ou a outros nós de submixagem.

CreateSubmixNode(AudioEncodingProperties)

Cria um AudioSubmixNode que combina a saída de um ou mais nós de grafo de áudio em uma única saída que pode ser conectada a nós de saída ou a outros nós de submixagem.

CreateSubmixNode(AudioEncodingProperties, AudioNodeEmitter)

Cria um AudioSubmixNode habilitado para áudio espacial que combina a saída de um ou mais nós de grafo de áudio em uma única saída que pode ser conectada a nós de saída ou a outros nós de submixagem.

Dispose()

Realiza tarefas definidas pelo aplicativo associadas à liberação ou à redefinição de recursos não gerenciados.

ResetAllNodes()

Redefine todos os nós no grafo de áudio.

Start()

Inicia o grafo de áudio.

Stop()

Interrompe o grafo de áudio.

Eventos

QuantumProcessed

Notifica que o grafo de áudio processou o quantum especificado.

QuantumStarted

Notifica que o grafo de áudio começou a processar um novo quantum.

UnrecoverableErrorOccurred

Notifica sobre um erro de áudio irrecuperável na operação de grafo de áudio.

Aplica-se a

Confira também