MediaStreamSource クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
メディア サンプルをメディア パイプラインに直接配信するメディア ソースを表します。
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
- 継承
- 属性
- 実装
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 |
MediaStreamSource が MediaStreamSample オブジェクトの要求を開始する準備ができたときに発生します。 イベントは、最初の MediaStreamSample を配信するメディアのタイム ライン内の位置を指定できます。 |
SwitchStreamsRequested |
MediaStreamSource が特定のストリームに対する MediaStreamSample オブジェクトの要求を停止し、代わりに別のストリームから MediaStreamSample オブジェクトの要求を開始するときに発生します。 |