MediaStreamSource クラス

定義

メディア サンプルをメディア パイプラインに直接配信するメディア ソースを表します。

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
継承
Object Platform::Object IInspectable MediaStreamSource
属性
実装

Windows の要件

デバイス ファミリ
Windows 10 (10.0.10240.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v1.0 で導入)

注釈

UWP アプリでメディア ストリーム ソースを使用する例については、 MediaStreamSource サンプル を参照してください。

MediaStreamSource は、Windows 8.1で導入された UWP アプリ用の新しい汎用メディア ソースです。 MediaStreamSource を使用すると、アプリは、再生、コード変換、ストリーミングのために、圧縮または圧縮されていないオーディオとビデオのサンプルをメディア パイプラインに送信できます。 メディア サンプルは、アプリによって動的に生成することも、ストリームまたはファイルから多重化解除することもできます。 この柔軟性により、アプリは新しいメディア形式のプラットフォームサポートをより簡単に拡張したり、アダプティブ ストリーミングなどの複雑な問題を解決したりできます。

MediaStreamSourceAPI は、同じ名前の Microsoft SilverlightAPI によく似ています。

MediaStreamSource は、JavaScript を使用する Windows アプリの オーディオ オブジェクトと ビデオ オブジェクト、C++、C#、または Visual Basic を使用する UWP アプリの MediaElement オブジェクト、および MediaTranscoder で使用できます。

MediaStreamSource サンプルは、MediaStreamSource の使用方法を示しています。 メイン MediaStreamSource API の一部を次に示します。 この順序では、MediaStreamSource が機能する基本的なフローの概要を示します。 MediaStreamSource は、イベント引数を使用して要求オブジェクトをアプリに送信することがわかります。 これらの要求オブジェクトを使用すると、アプリは MediaStreamSource と対話し、データを返すことができます。

API 説明
MediaStreamSource メディア サンプルをメディア パイプラインに直接配信するメディア ソースを表します。 MediaStreamSource は、アプリケーションによって提供される MediaStreamSample オブジェクトを使用します。
MediaStreamSample MediaStreamSource で使用されるメディア サンプルを表します。
MediaStreamSource.Starting (イベント) MediaStreamSource は、このイベントを使用して、メディア データの処理を開始する準備ができていることをアプリに通知します。
MediaStreamSourceStartingRequest メディア データの処理を開始する準備ができている MediaStreamSource からの要求を表します。 アプリは、要求に対して SetActualStartPosition を呼び出して、この要求にできるだけ早く応答する必要があります。 アプリで MediaStreamSource のデータ処理を遅延させる必要がある場合は、 MediaStreamSourceStartingRequest.GetDeferral から非同期の遅延を取得できます。 アプリが MediaStreamSource を起動する準備ができたら、遅延オブジェクトで Complete を呼び出します。 開始要求は、MediaStreamSource.Starting イベント ハンドラーに渡される MediaStreamSourceStartingEventArgs を介してアクセスされます。
MediaStreamSource.SampleRequested (イベント) MediaStreamSource は、このイベントを使用して、 MediaStreamSample の準備ができていることをアプリに通知します。 このイベントのハンドラーを登録するには、アプリが必要です。
MediaStreamSourceSampleRequest 新しいメディア サンプルの MediaStreamSource からの要求を表します。 Sample プロパティを新しい MediaStreamSample に設定すると、MediaStreamSource がトリガーされ、メディア サンプルが取得され、メディア データの処理が続行されます。 アプリは、この要求にできるだけ早く返信する必要があります。 MediaStreamSample を送信する前にアプリに時間が必要な場合は、MediaStreamSourceSampleRequest.GetDeferral から非同期遅延を取得できます。 アプリが遅延処理で終了すると、遅延オブジェクトに対して Complete が呼び出されます。 サンプル要求は、MediaStreamSource.SampleRequest イベント ハンドラーに渡される MediaStreamSourceSampleRequestedEventArgs を介してアクセスされます。 このアプリは、MediaStreamSample を指定せずに MediaStreamSourceSampleRequest に応答するか、MediaStreamSourceSampleRequest.Sample プロパティを null に割り当てることによって、ストリームの末尾に達したことを示します。
MediaStreamSource.Closed (イベント) MediaStreamSource は、このイベントを使用して、シャットダウンされたことをアプリに通知します。
MediaStreamSourceClosedRequest 閉じた MediaStreamSource からの要求を表します。 閉じる要求は、MediaStreamSource.Closed イベント ハンドラーに渡される MediaStreamSourceClosedEventArgs を介してアクセスされます。
MediaElement.SetMediaStreamSource MediaElement のソースを MediaStreamSource に設定します。

バージョン履歴

Windows のバージョン SDK バージョン 追加された値
1607 14393 SampleRendered
1703 15063 MaxSupportedPlaybackRate
1709 16299 IsLive

コンストラクター

MediaStreamSource(IMediaStreamDescriptor)

指定した IMediaStreamDescriptor から MediaStreamSource のインスタンスを作成します。

MediaStreamSource(IMediaStreamDescriptor, IMediaStreamDescriptor)

2 つの IMediaStreamDescriptor オブジェクトから MediaStreamSource のインスタンスを作成します。

プロパティ

BufferTime

MediaStreamSource によってバッファーされるデータの量を取得または設定します。

CanSeek

アプリケーションがメディアのタイム ラインでの位置の変更をサポートするかどうかを取得または設定します。

Duration

メディアのタイム ラインの期間を取得または設定します。

IsLive

処理されるメディア コンテンツがライブかどうかを示す値を取得または設定します。

MaxSupportedPlaybackRate

MediaStreamSource でサポートされている maxiumum 再生速度を取得します。

MediaProtectionManager

メディアの保護に使用される Digital Rights Management (DRM)MediaProtectionManager を取得または設定します。

MusicProperties

音楽関連のメタデータに使用される音楽プロパティを取得します。

Thumbnail

ビデオサムネイル画像または音楽アルバム アートのストリームへの参照であるサムネイルを取得または設定します。

VideoProperties

ビデオ関連のメタデータに使用されるビデオ プロパティを取得します。

メソッド

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

指定したストリームの暗号化と暗号化解除に MediaProtectionManager によって使用される Digital Rights Management (DRM) 保護キーを追加します。

AddStreamDescriptor(IMediaStreamDescriptor)

MediaStreamSource に新しいストリーム記述子を追加します。

NotifyError(MediaStreamSourceErrorStatus)

MediaStreamSource に対して、アプリケーションが MediaStreamSource にデータを配信し続けるのを妨げるエラーが発生したことを通知します。

SetBufferedRange(TimeSpan, TimeSpan)

アプリケーションが現在バッファリングしているデータの範囲を設定します。

イベント

Closed

MediaStreamSource がシャットダウンするときに発生します。

Paused

MediaStreamSource が一時停止し、指定されていない期間 MediaStreamSample オブジェクトの要求を停止したが、現在の位置から MediaStreamSample オブジェクトの要求を再開すると発生します。

SampleRendered

MediaStreamSource のサンプルがレンダリングされるときに発生します。

SampleRequested

MediaStreamSource が指定したストリームに対して MediaStreamSample を要求したときに発生します。

Starting

MediaStreamSourceMediaStreamSample オブジェクトの要求を開始する準備ができたときに発生します。 イベントは、最初の MediaStreamSample を配信するメディアのタイム ライン内の位置を指定できます。

SwitchStreamsRequested

MediaStreamSource が特定のストリームに対する MediaStreamSample オブジェクトの要求を停止し、代わりに別のストリームから MediaStreamSample オブジェクトの要求を開始するときに発生します。

適用対象

こちらもご覧ください