IAudioClock2::GetDevicePosition method (audioclient.h)
Metode GetDevicePosition mendapatkan posisi perangkat saat ini, dalam bingkai, langsung dari perangkat keras.
Sintaks
HRESULT GetDevicePosition(
[out] UINT64 *DevicePosition,
[out] UINT64 *QPCPosition
);
Parameter
[out] DevicePosition
Menerima posisi perangkat, dalam bingkai. Posisi yang diterima adalah nilai yang tidak diolah yang diperoleh metode langsung dari perangkat keras. Untuk informasi selengkapnya, lihat Keterangan.
[out] QPCPosition
Menerima nilai penghitung kinerja pada saat perangkat titik akhir audio membaca posisi perangkat yang diambil dalam parameter DevicePosition sebagai respons terhadap panggilan GetDevicePosition .
GetDevicePosition mengonversi nilai penghitung menjadi unit waktu 100 nanodetik sebelum menulisnya ke QPCPosition.
QPCPosition dapat berupa NULL jika klien tidak memerlukan nilai penghitung kinerja.
Untuk informasi selengkapnya, lihat Keterangan.
Mengembalikan nilai
Jika metode berhasil, metode akan mengembalikan S_OK.
Menampilkan kode | Deskripsi |
---|---|
|
Parameter DevicePosition adalah NULL. |
|
Titik akhir audio telah terputus. |
|
Metode IAudioClient::Start belum dipanggil untuk aliran ini. |
Keterangan
Metode ini hanya berlaku untuk aliran mode bersama.
Metode ini mengambil dua nilai posisi aliran yang berkorelasi:
- Posisi perangkat. Klien mengambil posisi perangkat yang tidak diolah di DevicePosition. Ini adalah posisi aliran sampel yang saat ini diputar melalui speaker (untuk aliran penyajian) atau direkam melalui mikrofon (untuk aliran pengambilan). Laju pengambilan sampel titik akhir perangkat mungkin berbeda dari laju pengambilan sampel format campuran yang digunakan oleh klien. Untuk mengambil posisi perangkat dari klien, panggil IAudioClock::GetPosition.
- Penghitung kinerja. Klien mengambil penghitung kinerja di QPCPosition. GetDevicePosition mendapatkan nilai penghitung dengan memanggil fungsi QueryPerformanceCounter pada saat perangkat titik akhir audio menyimpan posisi aliran dalam parameter DevicePosition dari metode GetDevicePosition . GetDevicePosition mengonversi nilai penghitung menjadi 100 unit waktu nanodetik. Untuk informasi selengkapnya tentang QueryPerformanceCounter dan QueryPerformanceFrequency, lihat dokumentasi Windows SDK.
- Kalikan nilai penghitung mentah dengan 10.000.000.
- Bagi hasil dengan frekuensi penghitung yang diperoleh dari QueryPerformanceFrequency.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 7 [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 R2 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | audioclient.h |
Lihat juga
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