InputHapticsManager Kelas

Definisi

Menyediakan fungsionalitas untuk memicu umpan balik haptik pada perangkat input yang terakhir kali mengirimkan input ke utas terkait, jika perangkat mendukung haptik dan input diterima baru-baru ini. Objek harus digunakan pada utas yang sama tempat objek dibuat.

public ref class InputHapticsManager sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 1245184)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class InputHapticsManager final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 1245184)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Experimental]
class InputHapticsManager final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 1245184)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class InputHapticsManager
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 1245184)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Experimental]
public sealed class InputHapticsManager
Public NotInheritable Class InputHapticsManager
Warisan
Object Platform::Object IInspectable InputHapticsManager
Atribut

Persyaratan Windows

Persyaratan Deskripsi
Rangkaian perangkat
Windows 11, version 24H2 (diperkenalkan dalam 10.0.26100.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v19.0)

Contoh

Contoh berikut menunjukkan cara memicu bentuk gelombang haptik pada perangkat input yang terakhir mengirimkan input ke utas saat ini. Jika bentuk gelombang yang diminta tidak didukung, meneruskan 0 untuk parameter kedua memungkinkan sistem menggunakan fallback khusus jenis perangkat. Contoh ini juga menangani kasus di mana API tidak tersedia atau tidak didukung.

bool SendHapticFeedback(uint16_t waveform)
{
    auto hapticsManagerStatics = winrt::try_get_activation_factory<
        winrt::InputHapticsManager, winrt::IInputHapticsManagerStatics>();

    if (hapticsManagerStatics && hapticsManagerStatics.IsSupported())
    {
        return hapticsManagerStatics
            .GetForCurrentThread()
            .TrySendHapticWaveform(waveform, 0);
    }

    return false;
}

Properti

Nama Deskripsi
CurrentDeviceType

Menyediakan fungsionalitas untuk memicu umpan balik haptik pada perangkat input yang terakhir kali mengirimkan input ke utas terkait, jika perangkat mendukung haptik dan input diterima baru-baru ini. Objek harus digunakan pada utas yang sama tempat objek dibuat.

CurrentHapticsController

Mendapatkan objek SimpleHapticsController untuk perangkat input yang terakhir dikirimkan input ke utas (atau pengontrol yang diatur oleh SetOverrideHapticsController jika penimpaan aktif).

CurrentHapticsControllerDeviceType

Mendapatkan jenis perangkat haptik untuk perangkat input tempat input terakhir diterima oleh utas (atau jenis perangkat yang ditetapkan oleh SetOverrideHapticsController jika penimpaan aktif).

ThreadId

Mendapatkan ID utas yang memiliki objek InputHapticsManager ini.

Metode

Nama Deskripsi
ClearOverrideHapticsController(HapticsControllerOverrideToken)

Menghapus penimpaan SimpleHapticsController yang sebelumnya diatur dengan token yang ditentukan.

GetForCurrentThread()

Mengembalikan objek InputHapticsManager untuk utas saat ini.

IsHapticDevicePresent()

Menunjukkan apakah perangkat yang mendukung haptik ada pada sistem, terlepas dari perangkat yang terakhir kali mengirimkan input ke utas panggilan.

IsSupported()

Menunjukkan apakah fungsionalitas InputHapticsManager didukung pada sistem.

SetOverrideHapticsController(HapticDeviceType, SimpleHapticsController)

Mengatur SimpleHapticsController dan HapticDeviceType yang harus digunakan manajer untuk metode dan propertinya. Beberapa penimpaan dapat aktif secara bersamaan, dengan manajer menggunakan yang terakhir disediakan.

TryGetForThread(UInt32)

Mengambil InputHapticsManager untuk utas yang ditentukan, jika ada.

TrySendHapticWaveform(UInt16, UInt16, Double)

Mencoba memicu bentuk gelombang yang ditentukan, dengan intensitas yang ditentukan, pada perangkat input yang terakhir mengirimkan input ke utas. Bentuk gelombang fallback digunakan jika bentuk gelombang pertama tidak didukung.

TrySendHapticWaveform(UInt16, UInt16)

Mencoba memicu bentuk gelombang yang ditentukan pada perangkat input yang terakhir mengirimkan input ke utas. Bentuk gelombang fallback digunakan jika bentuk gelombang pertama tidak didukung.

TrySendHapticWaveformForDuration(UInt16, UInt16, Double, TimeSpan)

Mencoba memicu bentuk gelombang yang ditentukan, dengan intensitas dan durasi yang ditentukan, pada perangkat input yang terakhir mengirimkan input ke utas. Bentuk gelombang fallback digunakan jika bentuk gelombang pertama tidak didukung.

TrySendHapticWaveformForPlayCount(UInt16, UInt16, Double, Int32, TimeSpan)

Mencoba memicu bentuk gelombang yang ditentukan, dengan intensitas yang ditentukan, jumlah pemutaran, dan interval jeda pemutaran ulang, pada perangkat input yang terakhir mengirimkan input ke utas. Bentuk gelombang fallback digunakan jika bentuk gelombang pertama tidak didukung.

TryStopFeedback()

Mencoba menghentikan pemutaran haptik yang sedang berlangsung pada perangkat input yang baru-baru ini menerima bentuk gelombang haptik dari manajer.

Berlaku untuk

Lihat juga