Condividi tramite


MediaStreamSource Classe

Definizione

Rappresenta un'origine multimediale che distribuisce campioni multimediali direttamente alla pipeline multimediale.

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
Ereditarietà
Object Platform::Object IInspectable MediaStreamSource
Attributi
Implementazioni

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)

Commenti

Vedi l'esempio MediaStreamSource per un esempio di uso dell'origine di flusso multimediale in un'app UWP.

MediaStreamSource è una nuova origine multimediale generica per le app UWP introdotte in Windows 8.1. MediaStreamSource consente alle app di inviare campioni audio e video compressi o non compressi alla pipeline multimediale per la riproduzione, la transcodifica e lo streaming. Gli esempi multimediali possono essere generati dinamicamente dall'app o de-multiplexing da un flusso o da file. Questa flessibilità consente alle app di estendere più facilmente il supporto della piattaforma per nuovi formati multimediali o risolvere problemi complessi, ad esempio lo streaming adattivo.

MediaStreamSourceAPI è molto simile all'API Microsoft Silverlight con lo stesso nome.

MediaStreamSource può essere usato con oggetti audio e video nell'app Windows usando JavaScript, oggetti MediaElement nelle app UWP usando C++, C# o Visual Basic e MediaTranscoder.

L'esempio MediaStreamSource illustra come usare MediaStreamSource. Ecco alcune delle principali API MediaStreamSource. L'ordine descrive il flusso di base del funzionamento di MediaStreamSource. Si noterà che MediaStreamSource invia oggetti richiesta all'app tramite argomenti dell'evento. Questi oggetti richiesta consentono all'app di interagire con MediaStreamSource e di passarvi di nuovo i dati.

API Descrizione
MediaStreamSource Rappresenta un'origine multimediale che distribuisce campioni multimediali direttamente alla pipeline multimediale. MediaStreamSource utilizza gli oggetti MediaStreamSample forniti dall'applicazione.
MediaStreamSample Rappresenta un esempio multimediale utilizzato da MediaStreamSource.
MediaStreamSource.Starting (evento) MediaStreamSource usa questo evento per notificare all'app che è pronta per avviare l'elaborazione dei dati multimediali.
MediaStreamSourceStartingRequest Rappresenta una richiesta da MediaStreamSource pronta per avviare l'elaborazione dei dati multimediali. Le app devono rispondere il prima possibile a questa richiesta chiamando SetActualStartPosition nella richiesta. Se un'app deve ritardare MediaStreamSource dall'elaborazione dei dati, può ottenere un differimento asincrono da MediaStreamSourceStartingRequest.GetDeferral. Quando l'app è pronta per l'avvio di MediaStreamSource, chiama Complete sull'oggetto differitore. La richiesta iniziale è accessibile tramite MediaStreamSourceStartingEventArgs passati al gestore eventi MediaStreamSource.Starting .
MediaStreamSource.SampleRequested (evento) MediaStreamSource usa questo evento per notificare all'app che è pronta per un oggetto MediaStreamSample. Le app sono necessarie per registrare un gestore per questo evento.
MediaStreamSourceSampleRequest Rappresenta una richiesta da MediaStreamSource per un nuovo esempio multimediale. L'impostazione della proprietà Sample sul nuovo MediaStreamSample attiva MediaStreamSource per recuperare l'esempio multimediale e continuare a elaborare i dati multimediali. Le app devono rispondere il prima possibile a questa richiesta. Se un'app richiede tempo prima di inviare MediaStreamSample, può ottenere un rinvio asincrono da MediaStreamSourceSampleRequest.GetDeferral. Al termine del rinvio, l'app chiama Complete sull'oggetto rinvio. È possibile accedere alla richiesta di esempio tramite MediaStreamSourceSampleRequestedEventArgs passati al gestore eventi MediaStreamSource.SampleRequest . L'app indica che ha raggiunto la fine del flusso rispondendo a un oggetto MediaStreamSourceSampleRequest senza fornire un oggetto MediaStreamSample o assegnando la proprietà MediaStreamSourceSampleRequest.Sample a null.
MediaStreamSource.Closed (evento) MediaStreamSource usa questo evento per notificare all'app che è stata arrestata.
MediaStreamSourceClosedRequest Rappresenta una richiesta da MediaStreamSource chiusa. La richiesta di chiusura è accessibile tramite MediaStreamSourceClosedEventArgs passati al gestore eventi MediaStreamSource.Closed .
MediaElement.SetMediaStreamSource Imposta l'origine di MediaElement su mediaStreamSource.

Cronologia delle versioni

Versione di Windows Versione dell'SDK Valore aggiunto
1607 14393 SampleRendered
1703 15063 MaxSupportedPlaybackRate
1709 16299 IsLive

Costruttori

MediaStreamSource(IMediaStreamDescriptor)

Crea un'istanza di MediaStreamSourcedall'oggetto IMediaStreamDescriptor specificato.

MediaStreamSource(IMediaStreamDescriptor, IMediaStreamDescriptor)

Crea un'istanza di MediaStreamSource da due oggetti IMediaStreamDescriptor .

Proprietà

BufferTime

Ottiene o imposta la quantità di dati memorizzati nel buffer da MediaStreamSource.

CanSeek

Ottiene o imposta un valore che indica se l'applicazione supporta o meno la modifica della posizione nella linea temporale multimediale.

Duration

Ottiene o imposta la durata della linea temporale multimediale.

IsLive

Ottiene o imposta un valore che indica se il contenuto multimediale elaborato è attivo.

MaxSupportedPlaybackRate

Ottiene la frequenza di riproduzione supportata da maxiumum per MediaStreamSource.

MediaProtectionManager

Ottiene o imposta Digital Rights Management (DRM)MediaProtectionManager utilizzato per proteggere i supporti.

MusicProperties

Ottiene le proprietà musicali utilizzate per i metadati correlati alla musica.

Thumbnail

Ottiene o imposta l'anteprima che è un riferimento a un flusso per un'immagine di anteprima video o un album musicale.

VideoProperties

Ottiene le proprietà video utilizzate per i metadati correlati al video.

Metodi

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

Aggiunge una chiave di protezione DRM (Digital Rights Management) usata da MediaProtectionManager per crittografare e decrittografare il flusso specificato.

AddStreamDescriptor(IMediaStreamDescriptor)

Aggiunge un nuovo descrittore di flusso a MediaStreamSource.

NotifyError(MediaStreamSourceErrorStatus)

Notifica a MediaStreamSource che si è verificato un errore che impedisce all'applicazione di continuare a recapitare i dati a MediaStreamSource.

SetBufferedRange(TimeSpan, TimeSpan)

Imposta l'intervallo di dati attualmente memorizzati nel buffer dell'applicazione.

Eventi

Closed

Si verifica quando MediaStreamSource viene arrestato.

Paused

Si verifica quando MediaStreamSource viene sospeso e interrompe la richiesta di oggetti MediaStreamSample per un periodo di tempo non specificato, ma si prevede di riprendere la richiesta di oggetti MediaStreamSample dalla posizione corrente.

SampleRendered

Si verifica quando viene eseguito il rendering di un esempio da MediaStreamSource .

SampleRequested

Si verifica quando MediaStreamSource richiede mediaStreamSample per un flusso specificato.

Starting

Si verifica quando MediaStreamSource è pronto per iniziare a richiedere oggetti MediaStreamSample . L'evento può specificare una posizione nella riga di tempo multimediale da cui deve essere recapitato il primo MediaStreamSample .

SwitchStreamsRequested

Si verifica quando MediaStreamSource smetterà di richiedere oggetti MediaStreamSample per un determinato flusso e inizierà a richiedere oggetti MediaStreamSample da un flusso diverso.

Si applica a

Vedi anche