Visualizer 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
Visualizer 類別讓應用程式能夠擷取目前播放的部分音訊以供視覺化。
[Android.Runtime.Register("android/media/audiofx/Visualizer", DoNotGenerateAcw=true)]
public class Visualizer : Java.Lang.Object
[<Android.Runtime.Register("android/media/audiofx/Visualizer", DoNotGenerateAcw=true)>]
type Visualizer = class
inherit Object
- 繼承
- 屬性
備註
Visualizer 類別讓應用程式能夠擷取目前播放的部分音訊以供視覺化。 它不是音訊錄製介面,只能回傳部分且低品質的音訊內容。 然而,為了保護某些音訊資料(例如語音信箱)的隱私,使用視覺化器需要取得android.permission.RECORD_AUDIO的許可。
傳給建構者的音訊會話 ID 會顯示應該視覺化哪些音訊內容:<br><ul><li>如果會話是 0,則會視覺化<音訊輸出混音/li><li>如果會話不是 0,則會視覺化android.media.MediaPlayer來自特定android.media.AudioTrack或<使用該音訊會話的音訊 /li></ul>
可擷取兩種音訊內容表示方式:<br><ul><li>波形資料:使用#getWaveForm(byte[])方法</li><li>連續的 8 位元(無符號)單聲道取樣 頻率資料:8 位元幅級 FFT,使用 #getFft(byte[]) 方法</li></ul>
擷取長度可透過呼叫 #getCaptureSize() 與 #setCaptureSize(int) 方法分別取得或指定。 捕獲大小必須是 的 2 次方,該範圍 #getCaptureSizeRange()由 返回。
除了上述使用 #getWaveForm(byte[]) 和 #getFft(byte[]) 方法的輪詢捕捉模式外,還可透過安裝監聽器 #setDataCaptureListener(OnDataCaptureListener, int, boolean, boolean) 來使用回調模式。 會指定監聽器擷取方法的呼叫速率以及回傳的資料類型。
在擷取資料前,必須透過呼叫 #setEnabled(boolean) 方法來啟用視覺化器。 當不再需要資料擷取時,應關閉視覺化工具。
當視覺化器不再使用時,呼叫該 #release() 方法以釋放與視覺化器實例相關的原生資源,是良好的做法。
在輸出混音(音訊會話 0)建立視覺化工具需要取得許可 android.Manifest.permission#MODIFY_AUDIO_SETTINGS
視覺化器類別也可用於對播放中的音訊進行測量。 要執行的測量是透過設定一個遮罩來定義,為 #setMeasurementMode(int)。 支援的數值用於 #MEASUREMENT_MODE_NONE 取消任何測量,以及 #MEASUREMENT_MODE_PEAK_RMS 用於峰值和有效值監測。 測量值可透過 #getMeasurementPeakRms(MeasurementPeakRms)取得。
Java 文件 android.media.audiofx.Visualizer。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| Visualizer(Int32) |
職業建造者。 |
| Visualizer(IntPtr, JniHandleOwnership) |
用於建立 JNI 物件受管理表示的建構器;由執行時呼叫。 |
欄位
| 名稱 | Description |
|---|---|
| AlreadyExists |
已淘汰.
內部運作狀態。 |
| Error |
已淘汰.
未說明錯誤。 |
| ErrorBadValue |
已淘汰.
操作失敗是因為參數值錯誤。 |
| ErrorDeadObject |
已淘汰.
操作失敗,因為遠端物件失效。 |
| ErrorInvalidOperation |
已淘汰.
手術失敗是因為申請在錯誤的州。 |
| ErrorNoInit |
已淘汰.
操作失敗是因為物件初始化不良。 |
| ErrorNoMemory |
已淘汰.
由於記憶體不足,操作失敗。 |
| MeasurementModeNone |
已淘汰.
定義一種不進行測量的測量模式。 |
| MeasurementModePeakRms |
已淘汰.
定義一種測量模式,計算低於「全刻度」的峰值與 RMS 值(單位為 mB),其中 0mB 通常是最大取樣值(但詳見下方註解)。 |
| ScalingModeAsPlayed |
已淘汰.
定義一種擷取模式,播放音量會影響(縮放)擷取資料的範圍。 |
| ScalingModeNormalized |
已淘汰.
定義一種擷取模式,根據擷取資料的內容進行放大。 |
| StateEnabled |
已淘汰.
一個啟用中的 Visualizer 物件的狀態。 |
| StateInitialized |
已淘汰.
一個已準備好可使用的視覺化物件狀態。 |
| StateUninitialized |
已淘汰.
建立時未成功初始化的 Visualizer 物件狀態 |
| Success |
已淘汰.
手術成功。 |
屬性
| 名稱 | Description |
|---|---|
| CaptureSize |
回傳目前的捕獲大小。 |
| Class |
回傳此 |
| Enabled |
取得視覺化器目前的啟動狀態。 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
Visualizer 類別讓應用程式能夠擷取目前播放的部分音訊以供視覺化。 (繼承來源 JavaObject) |
| JniPeerMembers |
Visualizer 類別讓應用程式能夠擷取目前播放的部分音訊以供視覺化。 |
| MaxCaptureRate |
回傳回調擷取方法的最大擷取率。 |
| MeasurementMode |
回傳此音訊效果所執行的電流測量模式 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| SamplingRate |
回傳擷取音訊的取樣率。 |
| ScalingMode |
回傳擷取的視覺化資料的當前縮放模式。 |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 |
方法
| 名稱 | Description |
|---|---|
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Visualizer 類別讓應用程式能夠擷取目前播放的部分音訊以供視覺化。 (繼承來源 JavaObject) |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
Visualizer 類別讓應用程式能夠擷取目前播放的部分音訊以供視覺化。 (繼承來源 JavaObject) |
| Equals(Object) |
Visualizer 類別讓應用程式能夠擷取目前播放的部分音訊以供視覺化。 (繼承來源 JavaObject) |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| GetCaptureSizeRange() |
回傳捕獲大小範圍。 |
| GetFft(Byte[]) |
回傳目前正在播放音訊內容的頻率擷取。 |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| GetMeasurementPeakRms(Visualizer+MeasurementPeakRms) |
取得最新的峰值與均方根值測量值。 |
| GetWaveForm(Byte[]) |
回傳目前播放音訊內容的波形擷取。 |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| Release() |
釋出原生的 Visualizer 資源。 |
| SetCaptureSize(Int32) |
設定擷取大小,i。 |
| SetDataCaptureListener(Visualizer+IOnDataCaptureListener, Int32, Boolean, Boolean) |
註冊 OnDataCaptureListener 介面,並指定擷取更新速率及擷取類型。 |
| SetEnabled(Boolean) |
啟用或停用視覺化引擎。 |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetMeasurementMode(VisualizerMeasurementMode) |
設定此音訊效果將執行的測量模式組合。 |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Visualizer 類別讓應用程式能夠擷取目前播放的部分音訊以供視覺化。 (繼承來源 JavaObject) |
| SetScalingMode(VisualizerScalingMode) |
設定對擷取的視覺化資料套用的縮放類型。 |
| 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() |
Visualizer 類別讓應用程式能夠擷取目前播放的部分音訊以供視覺化。 (繼承來源 JavaObject) |
| IJavaPeerable.Finalized() |
Visualizer 類別讓應用程式能夠擷取目前播放的部分音訊以供視覺化。 (繼承來源 JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Visualizer 類別讓應用程式能夠擷取目前播放的部分音訊以供視覺化。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Visualizer 類別讓應用程式能夠擷取目前播放的部分音訊以供視覺化。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Visualizer 類別讓應用程式能夠擷取目前播放的部分音訊以供視覺化。 (繼承來源 JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Visualizer 類別讓應用程式能夠擷取目前播放的部分音訊以供視覺化。 (繼承來源 JavaObject) |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
Visualizer 類別讓應用程式能夠擷取目前播放的部分音訊以供視覺化。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |