MediaStreamSource Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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. |