Metode IAMTimelineObj::SetStartStop

[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Tangkapan 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 Audio/Video Capture 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.]

Catatan

[Tidak digunakan lagi. API ini bisa dihapus dari Rilis Windows mendatang.]

 

Metode SetStartStop ini mengatur waktu mulai dan berhenti objek, relatif terhadap induk objek.

Sintaks

HRESULT SetStartStop(
   REFERENCE_TIME Start,
   REFERENCE_TIME Stop
);

Parameter

Mulai

Waktu mulai baru, dalam unit 100 nanodetik, atau –1 untuk menjaga waktu mulai yang ada.

Stop

Waktu berhenti baru, dalam 100 unit nanodetik, atau –1 untuk menjaga waktu berhenti yang ada.

Nilai kembali

Mengembalikan salah satu nilai HRESULT berikut ini:

Menampilkan kode Deskripsi
S_OK
Berhasil.
E_INVALIDARG
Argumen tidak valid.
E_NOTIMPL
Tidak diterapkan.

 

Keterangan

Trek, komposisi, dan grup tidak menerapkan metode ini. Untuk objek ini, waktu mulai selalu nol, dan waktu berhenti adalah waktu berhenti maksimum objek yang dikandungnya.

Jangan atur waktu tumpang tindih pada objek sumber dalam trek yang sama. Melakukannya dapat menyebabkan perilaku yang tidak terdefinisi.

Untuk objek sumber, waktu mulai dan berhenti independen dari media mulai dan waktu berhenti media. Mengubah satu pasang nilai tidak mengubah yang lain. Untuk mengatur waktu mulai dan berhenti media, panggil metode IAMTimelineSrc::SetMediaTimes . Untuk informasi selengkapnya, lihat Waktu di DirectShow Editing Services.

Untuk mendapatkan pemotongan dan transisi yang akurat bingkai, atur parameter Mulai dan Hentikan ke batas bingkai. Anda dapat menggunakan metode IAMTimelineObj::FixTimes untuk mengonversi nilai waktu ke batas bingkai terdekat, atau menggunakan fungsi berikut untuk mengonversi dari nomor bingkai ke waktu referensi:

REFERENCE_TIME inline FrameNumToTime(LONGLONG frame, double fps)
{
    double dt = (frame * 10000000 / fps);
    if (frame >= 0) 
    {
        dt += 0.5;    }
    else
    {
        dt -= 0.5;
    }
    return (REFERENCE_TIME)dt;
}

Catatan

File header Qedit.h tidak kompatibel dengan header Direct3D yang lebih baru dari versi 7.

 

Catatan

Untuk mendapatkan Qedit.h, unduh Pembaruan SDK Microsoft Windows untuk Windows Vista dan .NET Framework 3.0. Qedit.h tidak tersedia di Microsoft Windows SDK untuk Windows 7 dan .NET Framework 3.5 Paket Layanan 1.

 

Persyaratan

Persyaratan Nilai
Header
Qedit.h
Pustaka
Strmiids.lib

Lihat juga

Antarmuka IAMTimelineObj

Kode Kesalahan dan Keberhasilan