Partilhar via


MediaStreamSource Classe

Definição

Representa uma fonte de mídia que fornece amostras de mídia diretamente para o pipeline de mídia.

public ref class MediaStreamSource sealed
/// [Windows.Foundation.Metadata.Activatable(Windows.Media.Core.IMediaStreamSourceFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [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 MediaStreamSource final
/// [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)]
/// [Windows.Foundation.Metadata.Activatable(Windows.Media.Core.IMediaStreamSourceFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class MediaStreamSource final
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Media.Core.IMediaStreamSourceFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[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 MediaStreamSource
[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)]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Media.Core.IMediaStreamSourceFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class MediaStreamSource
function MediaStreamSource(descriptor, descriptor2)
Public NotInheritable Class MediaStreamSource
Herança
Object Platform::Object IInspectable MediaStreamSource
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)

Comentários

Consulte o Exemplo de MediaStreamSource para obter um exemplo de como usar a Fonte de Fluxo de Mídia em um aplicativo UWP.

MediaStreamSource é uma nova fonte de mídia genérica para aplicativos UWP que é introduzida em Windows 8.1. O MediaStreamSource permite que os aplicativos enviem amostras de áudio e vídeo compactadas ou descompactadas para o pipeline de mídia para reprodução, transcodificação e streaming. Exemplos de mídia podem ser gerados dinamicamente pelo aplicativo ou des multiplexados de um fluxo ou arquivos. Essa flexibilidade permite que os aplicativos estendam mais facilmente o suporte à plataforma para novos formatos de mídia ou resolvam problemas complexos, como streaming adaptável.

O MediaStreamSourceAPI é muito semelhante ao Microsoft SilverlightAPI de mesmo nome.

MediaStreamSource pode ser usado com objetos de áudio e vídeo no aplicativo Windows usando objetos JavaScript, MediaElement em aplicativos UWP usando C++, C#ou Visual Basic e o MediaTranscoder.

O Exemplo de MediaStreamSource demonstra como usar o MediaStreamSource. Aqui estão alguns dos main API MediaStreamSource. A ordem descreve o fluxo básico de como o MediaStreamSource funciona. Você observará que o MediaStreamSource envia objetos de solicitação para o aplicativo por meio de argumentos de evento. Esses objetos de solicitação permitem que o aplicativo interaja com o MediaStreamSource e passe os dados de volta para ele.

API Descrição
MediaStreamSource Representa uma fonte de mídia que fornece amostras de mídia diretamente para o pipeline de mídia. MediaStreamSource consome objetos MediaStreamSample fornecidos pelo aplicativo.
MediaStreamSample Representa um exemplo de mídia usado pelo MediaStreamSource.
MediaStreamSource.Starting (evento) O MediaStreamSource usa esse evento para notificar o aplicativo de que ele está pronto para iniciar o processamento de dados de mídia.
MediaStreamSourceStartingRequest Representa uma solicitação do MediaStreamSource de que ele está pronto para começar a processar dados de mídia. Os aplicativos devem responder o mais rápido possível a essa solicitação chamando SetActualStartPosition na solicitação. Se um aplicativo precisar atrasar o MediaStreamSource do processamento de dados, ele poderá obter um adiamento assíncrono de MediaStreamSourceStartingRequest.GetDeferral. Quando o aplicativo estiver pronto para o MediaStreamSource ser iniciado, ele chamará Complete no objeto de adiamento. A solicitação inicial é acessada por meio do MediaStreamSourceStartingEventArgs que são passados para o manipulador de eventos MediaStreamSource.Starting .
MediaStreamSource.SampleRequested (evento) O MediaStreamSource usa esse evento para notificar o aplicativo de que ele está pronto para um MediaStreamSample. Os aplicativos são necessários para registrar um manipulador para esse evento.
MediaStreamSourceSampleRequest Representa uma solicitação do MediaStreamSource para um novo exemplo de mídia. Definir a propriedade Sample como o novo MediaStreamSample dispara o MediaStreamSource para recuperar o exemplo de mídia e continuar processando os dados de mídia. Os aplicativos devem responder o mais rápido possível a essa solicitação. Se um aplicativo precisar de tempo antes de enviar o MediaStreamSample, ele poderá obter um adiamento assíncrono de MediaStreamSourceSampleRequest.GetDeferral. Quando o aplicativo for concluído com o adiamento, ele chamará Complete no objeto de adiamento. A solicitação de exemplo é acessada por meio do manipulador de eventos MediaStreamSourceSampleRequestedEventArgs que são passados para o manipulador de eventos MediaStreamSource.SampleRequest . O aplicativo indica que chegou ao final do fluxo respondendo a um MediaStreamSourceSampleRequest sem fornecer um MediaStreamSample ou atribuindo a propriedade MediaStreamSourceSampleRequest.Sample a null.
MediaStreamSource.Closed (evento) O MediaStreamSource usa esse evento para notificar o aplicativo de que ele foi desligado.
MediaStreamSourceClosedRequest Representa uma solicitação do MediaStreamSource que ele fechou. A solicitação de fechamento é acessada por meio do MediaStreamSourceClosedEventArgs que são passados para o manipulador de eventos MediaStreamSource.Closed .
MediaElement.SetMediaStreamSource Define a origem do MediaElement como um MediaStreamSource.

Histórico de versão

Versão do Windows Versão do SDK Valor adicionado
1607 14393 SampleRendered
1703 15063 MaxSupportedPlaybackRate
1.709 16299 IsLive

Construtores

MediaStreamSource(IMediaStreamDescriptor)

Cria uma instância de MediaStreamSource do IMediaStreamDescriptor especificado.

MediaStreamSource(IMediaStreamDescriptor, IMediaStreamDescriptor)

Cria uma instância de MediaStreamSource de dois objetos IMediaStreamDescriptor .

Propriedades

BufferTime

Obtém ou define a quantidade de dados armazenados em buffer pelo MediaStreamSource.

CanSeek

Obtém ou define se o aplicativo dá suporte ou não à alteração de sua posição na linha de tempo de mídia.

Duration

Obtém ou define a duração da linha de tempo de mídia.

IsLive

Obtém ou define um valor que indica se o conteúdo de mídia que está sendo processado está ativo.

MaxSupportedPlaybackRate

Obtém a taxa de reprodução com suporte de maxiumum para o MediaStreamSource.

MediaProtectionManager

Obtém ou define o DRM (Gerenciamento de Direitos Digitais)MediaProtectionManager usado para proteger a mídia.

MusicProperties

Obtém as propriedades de música que são usadas para metadados relacionados à música.

Thumbnail

Obtém ou define a miniatura que é uma referência a um fluxo para uma imagem em miniatura de vídeo ou arte do álbum de música.

VideoProperties

Obtém as propriedades de vídeo que são usadas para metadados relacionados ao vídeo.

Métodos

AddProtectionKey(IMediaStreamDescriptor, Byte[], Byte[])

Adiciona uma chave de proteção drm (Gerenciamento de Direitos Digitais) que é usada pelo MediaProtectionManager para criptografar e descriptografar o fluxo especificado.

AddStreamDescriptor(IMediaStreamDescriptor)

Adiciona um novo descritor de fluxo ao MediaStreamSource.

NotifyError(MediaStreamSourceErrorStatus)

Notifica o MediaStreamSource de que ocorreu um erro que está impedindo o aplicativo de continuar a fornecer dados ao MediaStreamSource.

SetBufferedRange(TimeSpan, TimeSpan)

Define o intervalo de dados que o aplicativo está armazenando em buffer no momento.

Eventos

Closed

Ocorre quando o MediaStreamSource está sendo desligado.

Paused

Ocorre quando o MediaStreamSource é pausado e para de solicitar objetos MediaStreamSample por um período de tempo não especificado, mas espera-se que retome a solicitação de objetos MediaStreamSample da posição atual.

SampleRendered

Ocorre quando um exemplo do MediaStreamSource é renderizado.

SampleRequested

Ocorre quando o MediaStreamSource solicita um MediaStreamSample para um fluxo especificado.

Starting

Ocorre quando o MediaStreamSource está pronto para começar a solicitar objetos MediaStreamSample . O evento pode especificar uma posição na linha de tempo de mídia da qual o primeiro MediaStreamSample deve ser entregue.

SwitchStreamsRequested

Ocorre quando o MediaStreamSource deixará de solicitar objetos MediaStreamSample para um determinado fluxo e começará a solicitar objetos MediaStreamSample de um fluxo diferente.

Aplica-se a

Confira também