Menambahkan Sumber
[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Pengambilan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine , dan Pengambilan Audio/Video di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]
[API ini tidak didukung dan dapat diubah atau tidak tersedia di masa mendatang.]
Buat objek sumber dengan cara yang sama seperti Anda membuat objek garis waktu lainnya. Namun, sebelum menyisipkannya ke dalam garis waktu, Anda harus menentukan setidaknya properti berikut pada sumbernya.
- Waktu mulai dan berhenti, relatif terhadap garis waktu. Panggil metode IAMTimelineObj::SetStartStop .
- File media yang akan digunakan sebagai sumber. Panggil metode IAMTimelineSrc::SetMediaName dengan string karakter lebar yang mewakili nama file.
- Waktu mulai dan berhenti media, yang relatif terhadap file asli. Panggil metode IAMTimelineSrc::SetMediaTimes . Untuk informasi selengkapnya tentang waktu media, lihat Waktu di DirectShow Editing Services.
Dalam contoh berikut, klip sumber dimulai empat detik ke dalam file. Durasi media adalah 10 detik, dua kali panjang durasi garis waktu, yang berarti sumber akan bermain dengan kecepatan normal dua kali. UNIT konstanta didefinisikan sebagai 10000000 (10^7) dan sama dengan satu detik.
pSourceObj->SetStartStop(0, 50000000)
BSTR bstrFile = SysAllocStringLen(OLESTR("C:\\example.avi"), 15);
pSource->SetMediaName(bstrFile);
SysFreeString(bstrFile);
pSource->SetMediaTimes(40000000, 140000000);
Catatan
Saat ini, DES tidak dapat secara bersamaan merender lebih dari 75 sumber yang dikompresi dengan codec Video Compression Manager (VCM). Selain itu, jika proyek secara keseluruhan berisi lebih dari 75 sumber tersebut, Anda harus menggunakan koneksi ulang dinamis atau DES tidak dapat mempratinjau proyek. Untuk informasi selengkapnya, lihat IRenderEngine::SetDynamicReconnectLevel.
Untuk informasi selengkapnya tentang sumber, lihat Bekerja dengan Sumber.
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk