共用方式為


AudioTrack 類別

定義

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

[Android.Runtime.Register("android/media/AudioTrack", DoNotGenerateAcw=true)]
public class AudioTrack : Java.Lang.Object, Android.Media.IAudioRouting, Android.Media.IVolumeAutomation, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/media/AudioTrack", DoNotGenerateAcw=true)>]
type AudioTrack = class
    inherit Object
    interface IAudioRouting
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IVolumeAutomation
繼承
AudioTrack
屬性
實作

備註

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。 它允許將 PCM 音訊緩衝區串流至音訊接收進行播放。 這是藉由使用、 和 #write(float[], int, int, int) 方法之#write(byte[], int, int)#write(short[], int, int)一將數據「推送」至 AudioTrack 對象來達成。

AudioTrack 實例可以在兩種模式下運作:靜態或串流。<br> 在串流模式中,應用程式會使用其中 write() 一種方法,將連續數據流寫入 AudioTrack。 當數據從 Java 層傳輸至原生層並排入佇列播放時,這些會封鎖和傳回。 串流模式在播放實例的音訊數據區塊時最有用:

<ul><li>太大而無法放入記憶體中,因為聲音的播放持續時間過大,</李麗><>太大而無法放入記憶體中,因為音訊數據的特性(取樣率高,每個樣本的位數...)</li li><在>先前佇列的音訊播放時接收或產生。</li></ul>

處理符合記憶體的簡短音效時,應該選擇靜態模式,而且需要盡可能以最小的延遲播放。 因此,靜態模式對於經常播放的UI和遊戲音效而言是慣用的,而且可能會有最小的額外負荷。

建立時,AudioTrack 物件會初始化其相關聯的音訊緩衝區。 在建構期間指定的這個緩衝區大小會決定 AudioTrack 在數據用完之前可以播放的時間長度。<br> 針對使用靜態模式的 AudioTrack,此大小是可從其中播放的音效大小上限。<br> 對於串流模式,數據會以小於或等於緩衝區大小總計的大社區塊寫入音訊接收。

AudioTrack 不是最終專案,因此允許子類別,但不建議使用這類類別。

android.media.AudioTrackJava 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

建構函式

AudioTrack(AudioAttributes, AudioFormat, Int32, AudioTrackMode, Int32)

具有和AudioFormatAudioAttributes類別建構函式。

AudioTrack(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。

AudioTrack(Stream, Int32, ChannelConfiguration, Encoding, Int32, AudioTrackMode)
已淘汰.

類別建構函式。

AudioTrack(Stream, Int32, ChannelConfiguration, Encoding, Int32, AudioTrackMode, Int32)
已淘汰.

具有音訊會話的類別建構函式。

AudioTrack(Stream, Int32, ChannelOut, Encoding, Int32, AudioTrackMode)

類別建構函式。

AudioTrack(Stream, Int32, ChannelOut, Encoding, Int32, AudioTrackMode, Int32)

具有音訊會話的類別建構函式。

欄位

DualMonoModeLl
已淘汰.

此模式表示立體串流應該會顯示複寫到右側音訊通道的左側音訊通道。

DualMonoModeLr
已淘汰.

此模式表示立體串流應呈現混合在一起的左右音訊通道,並傳遞至這兩個通道。

DualMonoModeOff
已淘汰.

此模式會停用任何雙單聲道呈現效果。

DualMonoModeRr
已淘汰.

此模式表示應該會顯示立體串流,並將右側音訊通道復寫到左側音訊通道。

EncapsulationMetadataTypeDvbAdDescriptor
已淘汰.

封裝 DVB AD 描述元的元數據類型。

EncapsulationMetadataTypeFrameworkTuner
已淘汰.

封裝架構微調器資訊的元數據類型。

EncapsulationMetadataTypeSupplementaryAudioPlacement
已淘汰.

封裝補充音訊位置的元數據類型。

EncapsulationModeElementaryStream
已淘汰.

此模式表示具有基本數據流承載的元數據封裝。

EncapsulationModeNone
已淘汰.

此模式表示沒有元數據封裝,這是透過 AudioTrack傳送音訊數據的預設模式。

Error
已淘汰.

表示泛型作業失敗。

ErrorBadValue
已淘汰.

表示因使用無效值而失敗。

ErrorDeadObject
已淘汰.

錯誤碼,指出報告它的物件已不再有效,而且需要重新建立。

ErrorInvalidOperation
已淘汰.

表示因方法使用不當而失敗。

Success
已淘汰.

表示成功的作業。

SupplementaryAudioPlacementLeft
已淘汰.

左側補充音訊位置。

SupplementaryAudioPlacementNormal
已淘汰.

補充音訊放置正常。

SupplementaryAudioPlacementRight
已淘汰.

補充音訊放置權。

屬性

AudioAttributes

AudioAttributes 回組態中使用的 。

AudioDescriptionMixLeveldB

傳回 dB 中的音訊描述混合層級。

AudioFormat

傳回設定的音訊數據編碼。

AudioSessionId

傳回音訊會話標識碼。

BufferCapacityInFrames

傳回框架中緩衝區的大小 AudioTrack 上限。

BufferSizeInFrames

傳回應用程式寫入之緩衝區的有效 AudioTrack 大小。

ChannelConfiguration

傳回已設定的通道位置遮罩。

ChannelCount

傳回已設定的通道數目。

Class

傳回這個 Object的運行時間類別。

(繼承來源 Object)
DualMonoMode

會傳回雙單聲道模式簡報設定。

Format

傳回已設定 AudioTrack 的格式。

Handle

基礎Android實例的句柄。

(繼承來源 Object)
IsOffloadedPlayback

傳回追蹤是否已使用 設定為 true來建置Builder#setOffloadedPlayback(boolean)

JniIdentityHashCode

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

(繼承來源 Object)
JniPeerMembers

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

LogSessionId

傳回 LogSessionId。 -或- 針對計量集合,將 實例設定 LogSessionId 為這個 AudioTrack。

MaxVolume

傳回最大收益值,大於或等於 1。

Metrics

傳回有關目前 AudioTrack 實例的計量數據。

MinVolume

傳回最小值,也就是常數 0。

NativeFrameCount
已淘汰.

傳回原生 AudioTrack 緩衝區的框架計數。

NotificationMarkerPosition

傳回以框架表示的標記位置。

OffloadDelay

傳回卸除追蹤的譯碼器延遲,以先前以 所設定 #setOffloadDelayPadding(int, int)的畫面,如果從未修改,則傳回 0。

OffloadPadding

傳回卸除追蹤的譯碼器填補,以框架表示,先前設定為 #setOffloadDelayPadding(int, int),如果從未修改,則傳回 0。

PeerReference

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

(繼承來源 Object)
PerformanceMode

傳回的 AudioTrack目前效能模式。

PlaybackHeadPosition

傳回以畫面格表示的播放前端位置。

PlaybackParams

傳回目前的播放參數。 -或- 設定播放參數。

PlaybackRate

傳回 Hz 中的目前播放取樣率。

PlayState

傳回 AudioTrack 實例的播放狀態。

PositionNotificationPeriod

傳回以畫面格表示的通知更新期間。

PreferredDevice

傳回 所 #setPreferredDevice指定的選取輸出。

RoutedDevice

AudioDeviceInfo 回識別這個 AudioTrack 目前路由的 。

SampleRate

傳回 Hz 中設定的音訊來源取樣率。

StartThresholdInFrames

傳回的 AudioTrack串流啟動臨界值。

State

傳回 AudioTrack 實例的狀態。

StreamType

傳回這個 AudioTrack 的音量數據流類型。

ThresholdClass

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

ThresholdType

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

UnderrunCount

傳回自建立 AudioTrack 之後,應用層級寫入緩衝區中出現的不足次數。

方法

AddOnCodecFormatChangedListener(IExecutor, AudioTrack+IOnCodecFormatChangedListener)

OnCodecFormatChangedListener加入 ,以接收這個 AudioTrack上的編解碼器格式變更事件通知。

AddOnRoutingChangedListener(AudioTrack+IOnRoutingChangedListener, Handler)

新增 , AudioRouting.OnRoutingChangedListener 以接收此 AudioTrack 上路由變更的通知。

AddOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener, Handler)

新增 , AudioRouting.OnRoutingChangedListener 以接收此 AudioTrack 上路由變更的通知。

AttachAuxEffect(Int32)

將輔助效果附加至音訊播放軌。

Clone()

建立並傳回這個 對象的複本。

(繼承來源 Object)
CreateVolumeShaper(VolumeShaper+Configuration)

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

Dispose()

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

(繼承來源 Object)
Dispose(Boolean)

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

(繼承來源 Object)
Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
Flush()

排清目前已排入佇列播放的音訊數據。

GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
GetMinBufferSize(Int32, ChannelOut, Encoding)

傳回在模式中 #MODE_STREAM 建立 AudioTrack 物件所需的估計最小緩衝區大小。

GetNativeOutputSampleRate(Stream)

針對指定的數據流類型,傳回 Hz 中的輸出取樣率。

GetTimestamp(AudioTimestamp)

視需要輪詢時間戳。

IsDirectPlaybackSupported(AudioFormat, AudioAttributes)

傳回系統上目前是否支援直接播放具有所提供屬性的音訊格式。

JavaFinalize()

當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。

(繼承來源 Object)
Notify()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
Pause()

暫停音訊數據的播放。

Play()

開始播放 AudioTrack。

RegisterStreamEventCallback(IExecutor, AudioTrack+StreamEventCallback)

註冊數據流事件通知的回呼。

Release()

釋放原生 AudioTrack 資源。

ReloadStaticData()

將靜態緩衝區內的播放前端位置設定為零,也就是倒轉為靜態緩衝區的開頭。

RemoveOnCodecFormatChangedListener(AudioTrack+IOnCodecFormatChangedListener)

OnCodecFormatChangedListener拿掉先前新增的 ,以接收編解碼器格式變更事件。

RemoveOnRoutingChangedListener(AudioTrack+IOnRoutingChangedListener)

AudioRouting.OnRoutingChangedListener移除先前新增以接收重新路由通知的 。

RemoveOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener)

AudioRouting.OnRoutingChangedListener移除先前新增以接收重新路由通知的 。

SetAudioDescriptionMixLeveldB(Single)

設定 dB 中的音訊描述混合層級。

SetAuxEffectSendLevel(Single)

將音訊播放軌的傳送層級設定為附加的輔助效果 #attachAuxEffect(int)

SetBufferSizeInFrames(Int32)

限制應用程式寫入之緩衝區的有效 AudioTrack 大小。

SetDualMonoMode(Int32)

設定輸出裝置上的雙重 Mono 模式簡報。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetLoopPoints(Int32, Int32, Int32)

設定迴圈點和循環計數。

SetNotificationMarkerPosition(Int32)

設定通知標記的位置。

SetOffloadDelayPadding(Int32, Int32)

設定目前壓縮數據流在卸除模式中播放的延遲和填補值。

SetOffloadEndOfStream()

宣告此追蹤上的最後一個 write() 作業會提供此數據流的最後一個緩衝區。

SetPlaybackHeadPosition(Int32)

設定靜態緩衝區內的播放前端位置。

SetPlaybackPositionUpdateListener(AudioTrack+IOnPlaybackPositionUpdateListener)

設定 AudioTrack 在達到先前設定標記或每次定期播放前端位置更新時通知的接聽程式。

SetPlaybackPositionUpdateListener(AudioTrack+IOnPlaybackPositionUpdateListener, Handler)

設定 AudioTrack 在達到先前設定標記或每次定期播放前端位置更新時通知的接聽程式。

SetPlaybackRate(Int32)

設定此播放軌的播放取樣率。

SetPositionNotificationPeriod(Int32)

設定定期通知事件的期間。

SetPreferredDevice(AudioDeviceInfo)

指定音訊裝置(透過 AudioDeviceInfo 物件)以路由傳送此 AudioTrack 的輸出。

SetPresentation(AudioPresentation)

設定音訊簡報。

SetStartThresholdInFrames(Int32)

設定的串流啟動臨界值 AudioTrack

SetState(Int32)
已淘汰.

設定實例的初始化狀態。

SetStereoVolume(Single, Single)
已淘汰.

在 AudioTrack 上設定指定的左右輸出增益值。

SetVolume(Single)

設定此播放軌所有通道的指定輸出增益值。

Stop()

停止播放音訊數據。

ToArray<T>()

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

(繼承來源 Object)
UnregisterStreamEventCallback(AudioTrack+StreamEventCallback)

取消註冊數據流事件的通知回呼,先前已向 #registerStreamEventCallback(Executor, StreamEventCallback)註冊。

Wait()

讓目前線程等候直到喚醒為止,通常是藉由em <notified/em>或<em>interrupted</em> 來喚醒它。<>

(繼承來源 Object)
Wait(Int64)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

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

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)
Write(Byte[], Int32, Int32)

將音訊數據寫入音訊接收以進行播放(串流模式),或複製音訊數據以供稍後播放(靜態緩衝區模式)。

Write(Byte[], Int32, Int32, WriteMode)

將音訊數據寫入音訊接收以進行播放(串流模式),或複製音訊數據以供稍後播放(靜態緩衝區模式)。

Write(ByteBuffer, Int32, WriteMode)

將音訊數據寫入音訊接收以進行播放(串流模式),或複製音訊數據以供稍後播放(靜態緩衝區模式)。

Write(ByteBuffer, Int32, WriteMode, Int64)

將音訊數據寫入音訊接收,以在HW_AV_SYNC曲目上以串流模式播放。

Write(Int16[], Int32, Int32)

將音訊數據寫入音訊接收以進行播放(串流模式),或複製音訊數據以供稍後播放(靜態緩衝區模式)。

Write(Int16[], Int32, Int32, WriteMode)

將音訊數據寫入音訊接收以進行播放(串流模式),或複製音訊數據以供稍後播放(靜態緩衝區模式)。

Write(Single[], Int32, Int32, WriteMode)

將音訊數據寫入音訊接收以進行播放(串流模式),或複製音訊數據以供稍後播放(靜態緩衝區模式)。

WriteAsync(Byte[], Int32, Int32)

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

WriteAsync(Byte[], Int32, Int32, WriteMode)

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

WriteAsync(ByteBuffer, Int32, WriteMode)

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

WriteAsync(ByteBuffer, Int32, WriteMode, Int64)

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

WriteAsync(Int16[], Int32, Int32)

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

WriteAsync(Int16[], Int32, Int32, WriteMode)

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

WriteAsync(Single[], Int32, Int32, WriteMode)

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

事件

MarkerReached

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

PeriodicNotification

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

RoutingChanged

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

明確介面實作

IJavaPeerable.Disposed()

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

(繼承來源 Object)
IJavaPeerable.DisposeUnlessReferenced()

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

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

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

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

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

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

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

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

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

(繼承來源 Object)

擴充方法

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

GetJniTypeName(IJavaPeerable)

AudioTrack 類別會管理及播放 Java 應用程式的單一音訊資源。

適用於