語言

VibrationEffect.BasicEnvelopeBuilder 類別

定義

一個由包絡線定義的波形效果建構器,旨在提供不同功能裝置間一致的觸覺感知。

[Android.Runtime.Register("android/os/VibrationEffect$BasicEnvelopeBuilder", ApiSince=36, DoNotGenerateAcw=true)]
public sealed class VibrationEffect.BasicEnvelopeBuilder : Java.Lang.Object
[<Android.Runtime.Register("android/os/VibrationEffect$BasicEnvelopeBuilder", ApiSince=36, DoNotGenerateAcw=true)>]
type VibrationEffect.BasicEnvelopeBuilder = class
    inherit Object
繼承
VibrationEffect.BasicEnvelopeBuilder
屬性

備註

一個由包絡線定義的波形效果建構器,旨在提供不同功能裝置間一致的觸覺感知。

此建構器透過自動根據不同裝置的功能調整波形效果,簡化了波形效果的製作。 效果由控制點定義,指定目標振動強度與銳利度,以及到達目標的持續時間。 震動器能在這些控制點間順暢切換。

<b>強度:</b> 定義振動的整體強度,範圍從 0(關閉)到 1(最大可達成強度)。 數值越高,振動越強。 支援的強度值保證靈敏度(SL)高於10 dB SL,以確保人類感知。

<b>銳利度:</b> 定義振動的清脆度,範圍從0到1。 較低的數值產生更平滑的振動,而較高的數值則產生更銳利、更靈敏的感覺。 銳利度會映射到裝置支援頻率範圍內的等效頻率。

雖然這個建構器處理了大部分的自適應邏輯,但它也有一些限制:<ul><li>它可能無法使用完整的頻率<範圍/li><li>它限制在一個能產生至少 10 db 輸出的頻率範圍 SL</li><li>效果必須以零強度控制點結尾。 若未在零強度控制點結束,則會導致 IllegalStateException。</li></ul>

建構器會自動將所有效果從 0 強度開始。

為了避免這些限制並對效果輸出有更多控制,建議使用 WaveformEnvelopeBuilder,其中可直接使用振幅與頻率值。

為了達到最佳跨裝置一致性,建議控制點數量限制在最多 16 個。 不過這並非強制,若圖案超過最大控制點數,框架會自動拆解效果以確保正確播放。

例如,以下程式碼會產生振動效果,將振動強度從低頻提升到高頻強烈,持續約 500 毫秒,然後在 100 毫秒內降至 0(關閉):

{@code
            VibrationEffect effect = new VibrationEffect.BasicEnvelopeBuilder()
                .setInitialSharpness(0.0f)
                .addControlPoint(1.0f, 1.0f, 500)
                .addControlPoint(0.0f, 1.0f, 100)
                .build();
            }

Java 文件 android.os.VibrationEffect.BasicEnvelopeBuilder。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

建構函式

名稱 Description
VibrationEffect.BasicEnvelopeBuilder()

初始化 VibrationEffect.BasicEnvelopeBuilder 類別的新實例。

屬性

名稱 Description
Class

回傳此 Object的執行時類別。

(繼承來源 Object)
Handle

底層 Android 實例的帳號。

(繼承來源 Object)
JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

一個由包絡線定義的波形效果建構器,旨在提供不同功能裝置間一致的觸覺感知。

(繼承來源 JavaObject)
JniPeerMembers

提供此類型的 JNI 同儕成員元資料。

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
ThresholdClass

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 Object)
ThresholdType

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 Object)

方法

名稱 Description
AddControlPoint(Single, Single, Int64)

在這個波形包絡線末端新增一個控制點。 強度定義振動的整體強度,範圍從0(偏離)到1(最大可達到的強度)。

Build()

將波形建構為單一的振動效應。 BasicEnvelopeBuilder 物件在這次呼叫後仍然有效,所以你可以繼續透過呼叫這個方法,為它添加更多原語並產生更多 VibrationEffect s。

Clone()

建立並回傳此物件的副本。

(繼承來源 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

一個由包絡線定義的波形效果建構器,旨在提供不同功能裝置間一致的觸覺感知。

(繼承來源 JavaObject)
Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

一個由包絡線定義的波形效果建構器,旨在提供不同功能裝置間一致的觸覺感知。

(繼承來源 JavaObject)
Equals(Object)

一個由包絡線定義的波形效果建構器,旨在提供不同功能裝置間一致的觸覺感知。

(繼承來源 JavaObject)
Equals(Object)

表示是否有其他物體「等同」於此物。

(繼承來源 Object)
GetHashCode()

回傳物件的雜湊碼值。

(繼承來源 Object)
JavaFinalize()
已淘汰.

當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。

(繼承來源 Object)
Notify()

喚醒一個正在該物件監視器上等待的執行緒。

(繼承來源 Object)
NotifyAll()

喚醒所有等待該物件監視器的執行緒。

(繼承來源 Object)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetInitialSharpness(Single)

設定基本包絡線效果的初始銳利度。 當效果轉換到第一個控制點定義的強度和銳利度時,會開始以這個銳利度振動。

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

一個由包絡線定義的波形效果建構器,旨在提供不同功能裝置間一致的觸覺感知。

(繼承來源 JavaObject)
ToArray<T>()

從這個 Java 陣列包裝器建立一個受管理陣列。

(繼承來源 Object)
ToString()

回傳物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Object)
Wait()

導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。

(繼承來源 Object)
Wait(Int64, Int32)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
Wait(Int64)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

一個由包絡線定義的波形效果建構器,旨在提供不同功能裝置間一致的觸覺感知。

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

一個由包絡線定義的波形效果建構器,旨在提供不同功能裝置間一致的觸覺感知。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

一個由包絡線定義的波形效果建構器,旨在提供不同功能裝置間一致的觸覺感知。

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

一個由包絡線定義的波形效果建構器,旨在提供不同功能裝置間一致的觸覺感知。

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

一個由包絡線定義的波形效果建構器,旨在提供不同功能裝置間一致的觸覺感知。

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

一個由包絡線定義的波形效果建構器,旨在提供不同功能裝置間一致的觸覺感知。

(繼承來源 JavaObject)

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

一個由包絡線定義的波形效果建構器,旨在提供不同功能裝置間一致的觸覺感知。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於