Bagikan melalui


MediaStreamSource Kelas

Definisi

Mewakili sumber media yang mengirimkan sampel media langsung ke alur media.

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
Warisan
Object Platform::Object IInspectable MediaStreamSource
Atribut
Penerapan

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)

Keterangan

Lihat Sampel MediaStreamSource untuk contoh penggunaan Sumber Aliran Media di aplikasi UWP.

MediaStreamSource adalah sumber media generik baru untuk aplikasi UWP yang diperkenalkan di Windows 8.1. MediaStreamSource memungkinkan aplikasi mengirim sampel audio dan video terkompresi atau tidak terkompresi ke alur media untuk pemutaran, transkode, dan streaming. Sampel media dapat dihasilkan secara dinamis oleh aplikasi, atau dide-multipleks dari aliran atau file. Fleksibilitas ini memungkinkan aplikasi untuk lebih mudah memperluas dukungan platform untuk format media baru atau memecahkan masalah kompleks, seperti streaming adaptif.

MediaStreamSourceAPI sangat mirip dengan Microsoft SilverlightAPI dengan nama yang sama.

MediaStreamSource dapat digunakan dengan objek audio dan video di aplikasi Windows menggunakan JavaScript, objek MediaElement di aplikasi UWP menggunakan C++, C#, atau Visual Basic, dan MediaTranscoder.

Sampel MediaStreamSource menunjukkan cara menggunakan MediaStreamSource. Berikut adalah beberapa API MediaStreamSource utama. Urutan menguraikan alur dasar bagaimana MediaStreamSource berfungsi. Anda akan melihat bahwa MediaStreamSource mengirim objek permintaan ke aplikasi melalui argumen peristiwa. Objek permintaan ini memungkinkan aplikasi berinteraksi dengan MediaStreamSource dan meneruskan data kembali ke dalamnya.

API Deskripsi
MediaStreamSource Mewakili sumber media yang mengirimkan sampel media langsung ke alur media. MediaStreamSource menggunakan objek MediaStreamSample yang disediakan oleh aplikasi.
MediaStreamSample Mewakili sampel media yang digunakan oleh MediaStreamSource.
MediaStreamSource.Starting (kejadian) MediaStreamSource menggunakan kejadian ini untuk memberi tahu aplikasi bahwa siap untuk mulai memproses data media.
MediaStreamSourceStartingRequest Mewakili permintaan dari MediaStreamSource bahwa siap untuk mulai memproses data media. Aplikasi harus membalas permintaan ini sesegera mungkin dengan memanggil SetActualStartPosition pada permintaan. Jika aplikasi perlu menunda MediaStreamSource dari pemrosesan data, aplikasi bisa mendapatkan deferral asinkron dari MediaStreamSourceStartingRequest.GetDeferral. Ketika aplikasi siap untuk MediaStreamSource dimulai, aplikasi memanggil Selesai pada objek deferral. Permintaan awal diakses melalui MediaStreamSourceStartingEventArgs yang diteruskan ke penanganan aktivitas MediaStreamSource.Starting .
MediaStreamSource.SampleRequested (peristiwa) MediaStreamSource menggunakan kejadian ini untuk memberi tahu aplikasi bahwa siap untuk MediaStreamSample. Aplikasi diperlukan untuk mendaftarkan handler untuk kejadian ini.
MediaStreamSourceSampleRequest Mewakili permintaan dari MediaStreamSource untuk sampel media baru. Mengatur properti Sampel ke MediaStreamSample baru memicu MediaStreamSource untuk mengambil sampel media dan melanjutkan pemrosesan data media. Aplikasi harus membalas sesegera mungkin untuk permintaan ini. Jika aplikasi membutuhkan waktu sebelum mengirim MediaStreamSample, aplikasi bisa mendapatkan deferral asinkron dari MediaStreamSourceSampleRequest.GetDeferral. Setelah aplikasi selesai dengan penangguhkan, aplikasi memanggil Selesai pada objek penangguhkan. Permintaan sampel diakses melalui MediaStreamSourceSampleRequestedEventArgs yang diteruskan ke penanganan aktivitas MediaStreamSource.SampleRequest . Aplikasi menunjukkan telah mencapai akhir aliran dengan menanggapi MediaStreamSourceSampleRequest tanpa menyediakan MediaStreamSample, atau dengan menetapkan properti MediaStreamceSampleRequest.Sample ke null.
MediaStreamSource.Closed (kejadian) MediaStreamSource menggunakan kejadian ini untuk memberi tahu aplikasi bahwa aplikasi telah dimatikan.
MediaStreamSourceClosedRequest Mewakili permintaan dari MediaStreamSource yang telah ditutup. Permintaan penutupan diakses melalui MediaStreamSourceClosedEventArgs yang diteruskan ke penanganan aktivitas MediaStreamSource.Closed .
MediaElement.SetMediaStreamSource Mengatur sumber MediaElement ke MediaStreamSource.

Riwayat versi

Versi Windows Versi SDK Nilai ditambahkan
1607 14393 SampleRendered
1703 15063 MaxSupportedPlaybackRate
1709 16299 IsLive

Konstruktor

MediaStreamSource(IMediaStreamDescriptor)

Membuat instans MediaStreamSource dari IMediaStreamDescriptor yang ditentukan.

MediaStreamSource(IMediaStreamDescriptor, IMediaStreamDescriptor)

Membuat instans MediaStreamSource dari dua objek IMediaStreamDescriptor .

Properti

BufferTime

Mendapatkan atau mengatur jumlah data yang di-buffer oleh MediaStreamSource.

CanSeek

Mendapatkan atau mengatur apakah aplikasi mendukung perubahan posisinya di garis waktu media atau tidak.

Duration

Mendapatkan atau mengatur durasi garis waktu media.

IsLive

Mendapatkan atau menetapkan nilai yang menunjukkan apakah konten media yang sedang diproses ditayangkan.

MaxSupportedPlaybackRate

Mendapatkan laju pemutaran yang didukung maxiumum untuk MediaStreamSource.

MediaProtectionManager

Mendapatkan atau mengatur Digital Rights Management (DRM)MediaProtectionManager yang digunakan untuk melindungi media.

MusicProperties

Mendapatkan properti musik yang digunakan untuk metadata terkait musik.

Thumbnail

Mendapatkan atau mengatur gambar mini yang merupakan referensi ke streaming untuk gambar mini video atau seni album musik.

VideoProperties

Mendapatkan properti video yang digunakan untuk metadata terkait video.

Metode

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

Menambahkan kunci perlindungan Digital Rights Management (DRM) yang digunakan oleh MediaProtectionManager untuk mengenkripsi dan mendekripsi aliran yang ditentukan.

AddStreamDescriptor(IMediaStreamDescriptor)

Menambahkan deskriptor aliran baru ke MediaStreamSource.

NotifyError(MediaStreamSourceErrorStatus)

Memberi tahu MediaStreamSource bahwa terjadi kesalahan yang mencegah aplikasi terus mengirimkan data ke MediaStreamSource.

SetBufferedRange(TimeSpan, TimeSpan)

Mengatur rentang data yang saat ini di-buffer oleh aplikasi.

Acara

Closed

Terjadi ketika MediaStreamSource dimatikan.

Paused

Terjadi ketika MediaStreamSource dijeda dan berhenti meminta objek MediaStreamSample untuk jangka waktu yang tidak ditentukan, tetapi diharapkan untuk melanjutkan permintaan objek MediaStreamSample dari posisi saat ini.

SampleRendered

Terjadi ketika sampel dari MediaStreamSource dirender.

SampleRequested

Terjadi ketika MediaStreamSource meminta MediaStreamSample untuk aliran tertentu.

Starting

Terjadi ketika MediaStreamSource siap untuk mulai meminta objek MediaStreamSample . Peristiwa dapat menentukan posisi di garis waktu media tempat MediaStreamSample pertama harus dikirimkan.

SwitchStreamsRequested

Terjadi ketika MediaStreamSource akan berhenti meminta objek MediaStreamSample untuk aliran tertentu dan akan mulai meminta objek MediaStreamSample dari aliran yang berbeda sebagai gantinya.

Berlaku untuk

Lihat juga