MediaStreamSource Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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. |