Langue

AudioTrack Classe

Définition

La classe AudioTrack gère et lit une seule ressource audio pour les applications Java.

[Android.Runtime.Register("android/media/AudioTrack", DoNotGenerateAcw=true)]
public class AudioTrack : Java.Lang.Object, Android.Media.IAudioRouting, Android.Media.IVolumeAutomation, IDisposable
[<Android.Runtime.Register("android/media/AudioTrack", DoNotGenerateAcw=true)>]
type AudioTrack = class
    inherit Object
    interface IAudioRouting
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IVolumeAutomation
Héritage
AudioTrack
Attributs
Implémente

Remarques

La classe AudioTrack gère et lit une seule ressource audio pour les applications Java. Il permet la diffusion en continu de mémoires tampons audio PCM vers le récepteur audio pour la lecture. Pour ce faire, vous devez envoyer (push) les données à l’objet AudioTrack à l’aide de l’une des méthodes et #write(byte[], int, int) de l’une #write(short[], int, int)#write(float[], int, int, int)des méthodes.

Une instance AudioTrack peut fonctionner sous deux modes : statique ou en streaming.<br> en mode Streaming, l’application écrit un flux continu de données dans AudioTrack à l’aide de l’une write() des méthodes. Celles-ci bloquent et retournent lorsque les données ont été transférées de la couche Java vers la couche native et mises en file d’attente pour la lecture. Le mode de diffusion en continu est le plus utile lors de la lecture de blocs de données audio, par exemple :

<ul><li>trop grand pour s’adapter à la mémoire en raison de la durée du son à lire,</li li><>trop grand pour s’adapter à la mémoire en raison des caractéristiques des données audio (taux d’échantillonnage élevé, bits par échantillon...)</li li><>reçu ou généré pendant la lecture de l’audio précédemment mis en file d’attente.</li></ul>

Le mode statique doit être choisi lorsque vous traitez des sons courts qui s’adaptent à la mémoire et qui doivent être lus avec la plus petite latence possible. Le mode statique sera donc préféré pour les sons d’interface utilisateur et de jeu qui sont souvent joués, et avec la plus petite surcharge possible.

Lors de la création, un objet AudioTrack initialise sa mémoire tampon audio associée. La taille de cette mémoire tampon, spécifiée pendant la construction, détermine la durée pendant laquelle un AudioTrack peut être lu avant de manquer de données.<br> Pour un AudioTrack à l’aide du mode statique, cette taille est la taille maximale du son qui peut être lu à partir de celui-ci.<br> Pour le mode de diffusion en continu, les données sont écrites dans le récepteur audio en blocs de tailles inférieures ou égales à la taille totale de la mémoire tampon.

AudioTrack n’est pas final et autorise donc les sous-classes, mais cette utilisation n’est pas recommandée.

Java documentation pour android.media.AudioTrack.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

Constructeurs

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

Constructeur de classe avec AudioAttributes et AudioFormat.

AudioTrack(IntPtr, JniHandleOwnership)

Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime.

AudioTrack(Stream, Int32, ChannelConfiguration, Encoding, Int32, AudioTrackMode, Int32)
Obsolète.

Constructeur de classe avec session audio.

AudioTrack(Stream, Int32, ChannelConfiguration, Encoding, Int32, AudioTrackMode)
Obsolète.

Constructeur de classe.

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

Constructeur de classe avec session audio.

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

Constructeur de classe.

Champs

Nom Description
DualMonoModeLl
Obsolète.

Ce mode indique qu’un flux stéréo doit être présenté avec le canal audio gauche répliqué dans le canal audio droit.

DualMonoModeLr
Obsolète.

Ce mode indique qu’un flux stéréo doit être présenté avec les canaux audio gauche et droit fusionnés et remis aux deux canaux.

DualMonoModeOff
Obsolète.

Ce mode désactive tout effet de présentation Double Mono.

DualMonoModeRr
Obsolète.

Ce mode indique qu’un flux stéréo doit être présenté avec le canal audio droit répliqué dans le canal audio gauche.

EncapsulationMetadataTypeDvbAdDescriptor
Obsolète.

Type de métadonnées d’encapsulation pour le descripteur AD DVB.

EncapsulationMetadataTypeFrameworkTuner
Obsolète.

Type de métadonnées d’encapsulation pour les informations du tuner framework.

EncapsulationMetadataTypeSupplementaryAudioPlacement
Obsolète.

Type de métadonnées d’encapsulation pour le placement de l’audio supplémentaire.

EncapsulationModeElementaryStream
Obsolète.

Ce mode indique l’encapsulation des métadonnées avec une charge utile de flux élémentaire.

EncapsulationModeNone
Obsolète.

Ce mode indique aucune encapsulation de métadonnées, qui est le mode par défaut pour l’envoi de données audio via AudioTrack.

Error
Obsolète.

Indique un échec d’opération générique.

ErrorBadValue
Obsolète.

Indique un échec en raison de l’utilisation d’une valeur non valide.

ErrorDeadObject
Obsolète.

Code d’erreur indiquant que l’objet signalant qu’il n’est plus valide et doit être recréé.

ErrorInvalidOperation
Obsolète.

Indique un échec en raison de l’utilisation incorrecte d’une méthode.

FlushFromAccuracyBestEffort
Obsolète.

Mode d’exactitude pour indiquer que #flushWrittenFramesFromPosition(long, int) l’infrastructure vide les données le plus près possible, mais pas en dessous, à la position demandée.

FlushFromAccuracyExact
Obsolète.

Le mode précision pour #flushWrittenFramesFromPosition(long, int) indiquer que l’AudioTrack doit être vidé de la position demandée.

FlushWrittenFramesSupported
Obsolète.

La valeur de l’indicateur constant à indiquer #flushWrittenFramesFromPosition(long, int) est prise en charge.

Success
Obsolète.

Indique une opération réussie.

SupplementaryAudioPlacementLeft
Obsolète.

Placement audio supplémentaire à gauche.

SupplementaryAudioPlacementNormal
Obsolète.

Placement audio supplémentaire normal.

SupplementaryAudioPlacementRight
Obsolète.

Emplacement audio supplémentaire à droite.

Propriétés

Nom Description
AudioAttributes

Retourne l’utilisé dans la AudioAttributes configuration.

AudioDescriptionMixLeveldB

Retourne le niveau de mixage de description audio en dB.

AudioFormat

Retourne l’encodage de données audio configuré.

AudioSessionId

Retourne l’ID de session audio.

BufferCapacityInFrames

Retourne la taille maximale de la AudioTrack mémoire tampon dans les images.

BufferSizeInFrames

Retourne la taille effective de la AudioTrack mémoire tampon dans laquelle l’application écrit.

ChannelConfiguration

Retourne le masque de position du canal configuré.

ChannelCount

Retourne le nombre configuré de canaux.

Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
CodecProvenance

Retourne la provenance du codec spécifié AudioTrack au moment de la configuration.

DualMonoMode

Retourne le paramètre de présentation en mode Double Mono.

Format

Retourne le format configuré AudioTrack .

Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
IsOffloadedPlayback

Retourne si la piste a été générée avec Builder#setOffloadedPlayback(boolean) la valeur définie truesur .

JniIdentityHashCode

Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité.

(Hérité de Object)
JniManagedPeerState

Obtient les indicateurs d’état affectés en dernier par le runtime.

(Hérité de JavaObject)
JniPeerMembers

Obtient les métadonnées JNI utilisées pour accéder aux membres de cette liaison Java.

LogSessionId

Retourne l'LogSessionId. -ou- Définit une LogSessionId instance sur cet AudioTrack pour la collection de métriques.

MaxVolume

Retourne la valeur de gain maximale, supérieure ou égale à 1.

Metrics

Retournez des données de métriques sur l’instance AudioTrack actuelle.

MinVolume

Retourne la valeur de gain minimale, qui est la constante 0.

NativeFrameCount
Obsolète.

Retourne le nombre d’images de la mémoire tampon native AudioTrack .

NotificationMarkerPosition

Retourne la position de marqueur exprimée dans les images.

OffloadDelay

Retourne le délai du décodeur d’une piste déchargée, exprimée en images, précédemment définie avec #setOffloadDelayPadding(int, int), ou 0 s’il n’a jamais été modifié.

OffloadPadding

Retourne le remplissage du décodeur d’une piste déchargée, exprimée en images, précédemment définie avec #setOffloadDelayPadding(int, int), ou 0 si elle n’a jamais été modifiée.

PeerReference

Obtient la référence d’objet JNI pour cet homologue Java.

(Hérité de Object)
PerformanceMode

Retourne le mode de performances actuel de l’objet AudioTrack.

PlaybackHeadPosition

Retourne la position de la tête de lecture exprimée dans les images.

PlaybackParams

Retourne les paramètres de lecture actuels. -ou- Définit les paramètres de lecture.

PlaybackRate

Retourne le taux d’échantillonnage de lecture actuel en Hz.

PlayState

Retourne l’état de lecture de l’instance AudioTrack.

PositionNotificationPeriod

Retourne la période de mise à jour de notification exprimée en images.

PreferredDevice

Retourne la sortie sélectionnée spécifiée par #setPreferredDevice.

RoutedDevice

Retourne une AudioDeviceInfo identification du routage actuel de cet AudioTrack.

RoutedDevices

Retourne une liste d’identification AudioDeviceInfo du routage actuel de cet AudioTrack.

SampleRate

Retourne le taux d’échantillonnage de source audio configuré en Hz.

StartThresholdInFrames

Retourne le seuil de début de diffusion en continu du AudioTrack.

State

Retourne l’état de l’instance AudioTrack.

StreamType

Retourne le type de flux de volume de cet AudioTrack.

ThresholdClass

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

ThresholdType

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

UnderrunCount

Retourne le nombre d’occurrences de sous-exécution dans la mémoire tampon d’écriture au niveau de l’application depuis la création de l’AudioTrack.

WrittenFramesCount

Retourne le nombre de trames audio écrites dans un #MODE_STREAMAudioTrack.

Méthodes

Nom Description
AddOnCodecFormatChangedListener(IExecutor, AudioTrack+IOnCodecFormatChangedListener)

Ajoute une OnCodecFormatChangedListener notification pour recevoir des notifications d’événements de modification de format codec sur ce AudioTrack.

AddOnRoutingChangedListener(AudioTrack+IOnRoutingChangedListener, Handler)
Obsolète.

Ajoute une AudioRouting.OnRoutingChangedListener notification pour recevoir des notifications de routage sur cet AudioTrack.

AddOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener, Handler)

Ajoute une AudioRouting.OnRoutingChangedListener notification pour recevoir des notifications de routage sur cet AudioTrack.

AttachAuxEffect(Int32)

Attache un effet auxiliaire à la piste audio.

Clone()

Crée et retourne une copie de cet objet.

(Hérité de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Délègue la construction de cet homologue au gestionnaire de valeurs du runtime.

(Hérité de JavaObject)
CreateVolumeShaper(VolumeShaper+Configuration)

Retourne un objet VolumeShaper qui peut être utilisé pour modifier l’enveloppe de volume du lecteur ou de la piste.

Dispose()

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
Dispose(Boolean)

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
DisposeUnlessReferenced()

Demande au gestionnaire de valeurs de supprimer cet homologue, sauf si son mappage conserve cette même instance managée.

(Hérité de JavaObject)
Equals(Object)

Teste si un autre homologue managé fait référence au même objet Java.

(Hérité de JavaObject)
Equals(Object)

Indique si un autre objet est « égal à » celui-ci.

(Hérité de Object)
Flush()

Vide les données audio actuellement mises en file d’attente pour la lecture.

FlushWrittenFramesFromPosition(Int64, Int32)

Videz toutes les données de la position donnée.

GetFlushWrittenFramesFromPositionSupport(AudioFormat, AudioAttributes)

Retourne un masque de bits représentant la prise en charge des fonctionnalités actuelles pour #flushWrittenFramesFromPosition(long, int) l’AudioTrack en mode de déchargement créé avec l’élément donné AudioFormat et AudioAttributes.

GetHashCode()

Retourne une valeur de code de hachage pour l’objet.

(Hérité de Object)
GetMinBufferSize(Int32, ChannelOut, Encoding)

Retourne la taille de mémoire tampon minimale estimée requise pour qu’un objet AudioTrack soit créé en #MODE_STREAM mode.

GetNativeOutputSampleRate(Stream)

Retourne le taux d’échantillonnage de sortie en Hz pour le type de flux spécifié.

GetTimestamp(AudioTimestamp)

Interrogez un horodatage à la demande.

IsDirectPlaybackSupported(AudioFormat, AudioAttributes)

Retourne si la lecture directe d’un format audio avec les attributs fournis est actuellement prise en charge sur le système.

JavaFinalize()
Obsolète.

Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet.

(Hérité de Object)
Notify()

Réveille un thread unique qui attend le moniteur de cet objet.

(Hérité de Object)
NotifyAll()

Réveille tous les threads qui attendent le moniteur de cet objet.

(Hérité de Object)
Pause()

Interrompt la lecture des données audio.

Play()

Commence à lire un AudioTrack.

RegisterStreamEventCallback(IExecutor, AudioTrack+StreamEventCallback)

Inscrit un rappel pour la notification des événements de flux.

Release()

Libère les ressources AudioTrack natives.

ReloadStaticData()

Définit la position de la tête de lecture dans la mémoire tampon statique sur zéro, c’est-à-dire qu’il rembobine pour démarrer la mémoire tampon statique.

RemoveOnCodecFormatChangedListener(AudioTrack+IOnCodecFormatChangedListener)

Supprime un OnCodecFormatChangedListener élément qui a été précédemment ajouté pour recevoir des événements de modification de format de codec.

RemoveOnRoutingChangedListener(AudioTrack+IOnRoutingChangedListener)
Obsolète.

Supprime un AudioRouting.OnRoutingChangedListener qui a été précédemment ajouté pour recevoir des notifications de réacheminement.

RemoveOnRoutingChangedListener(IAudioRoutingOnRoutingChangedListener)

Supprime un AudioRouting.OnRoutingChangedListener qui a été précédemment ajouté pour recevoir des notifications de réacheminement.

SetAudioDescriptionMixLeveldB(Single)

Définit le niveau de mixage de description audio dans dB.

SetAuxEffectSendLevel(Single)

Définit le niveau d’envoi de la piste audio sur l’effet #attachAuxEffect(int)auxiliaire attaché.

SetBufferSizeInFrames(Int32)

Limite la taille effective de la AudioTrack mémoire tampon dans laquelle l’application écrit.

SetDualMonoMode(Int32)

Définit la présentation en mode Double Mono sur l’appareil de sortie.

SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

(Hérité de Object)
SetLoopPoints(Int32, Int32, Int32)

Définit les points de boucle et le nombre de boucles.

SetNotificationMarkerPosition(Int32)

Définit la position du marqueur de notification.

SetOffloadDelayPadding(Int32, Int32)

Configure les valeurs de délai et de remplissage du flux compressé actuel en mode déchargement.

SetOffloadEndOfStream()

Déclare que la dernière opération d’écriture() sur cette piste a fourni la dernière mémoire tampon de ce flux.

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Stocke une valeur de référence dans le bloc de contrôle sans créer de copie de référence JNI.

(Hérité de JavaObject)
SetPlaybackHeadPosition(Int32)

Définit la position de la tête de lecture dans la mémoire tampon statique.

SetPlaybackPositionUpdateListener(AudioTrack+IOnPlaybackPositionUpdateListener, Handler)

Définit l’écouteur avertit audioTrack lorsqu’un marqueur défini précédemment est atteint ou pour chaque mise à jour périodique de position de la tête de lecture.

SetPlaybackPositionUpdateListener(AudioTrack+IOnPlaybackPositionUpdateListener)

Définit l’écouteur avertit audioTrack lorsqu’un marqueur défini précédemment est atteint ou pour chaque mise à jour périodique de position de la tête de lecture.

SetPlaybackRate(Int32)

Définit le taux d’échantillonnage de lecture pour cette piste.

SetPositionNotificationPeriod(Int32)

Définit la période pour l’événement de notification périodique.

SetPreferredDevice(AudioDeviceInfo)

Spécifie un périphérique audio (via un AudioDeviceInfo objet) pour acheminer la sortie de cet AudioTrack.

SetPresentation(AudioPresentation)

Définit la présentation audio.

SetStartThresholdInFrames(Int32)

Définit le seuil de démarrage du streaming pour un AudioTrack.

SetState(Int32)
Obsolète.

Définit l’état d’initialisation de l’instance.

SetStereoVolume(Single, Single)
Obsolète.

Définit les valeurs de gain de sortie gauche et droite spécifiées sur AudioTrack.

SetVolume(Single)

Définit la valeur de gain de sortie spécifiée sur tous les canaux de cette piste.

Stop()

Arrête de lire les données audio.

ToArray<T>()

Crée un tableau managé à partir de ce wrapper de tableau Java.

(Hérité de Object)
ToString()

Retourne une représentation sous forme de chaîne de l’objet.

(Hérité de Object)
UnregisterFromRuntime()

Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité.

(Hérité de Object)
UnregisterStreamEventCallback(AudioTrack+StreamEventCallback)

Annule l’inscription du rappel pour la notification des événements de flux, précédemment inscrits auprès #registerStreamEventCallback(Executor, StreamEventCallback)de .

Wait()

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<>

(Hérité de Object)
Wait(Int64, Int32)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Wait(Int64)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Write(Byte[], Int32, Int32, WriteMode)

Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique).

Write(Byte[], Int32, Int32)

Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique).

Write(ByteBuffer, Int32, WriteMode, Int64)

Écrit les données audio dans le récepteur audio pour la lecture en mode streaming sur une piste HW_AV_SYNC.

Write(ByteBuffer, Int32, WriteMode)

Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique).

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

Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique).

Write(Int16[], Int32, Int32)

Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique).

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

Écrit les données audio dans le récepteur audio pour la lecture (mode streaming) ou copie les données audio pour la lecture ultérieure (mode mémoire tampon statique).

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

Démarre une tâche qui appelle l’écriture de tableau d’octets avec le mode d’écriture fourni.

WriteAsync(Byte[], Int32, Int32)

Démarre une tâche qui appelle l’écriture de tableau d’octets bloquants.

WriteAsync(ByteBuffer, Int32, WriteMode, Int64)

Démarre une tâche qui appelle l’écriture de tampon d’octets de streaming horodatée.

WriteAsync(ByteBuffer, Int32, WriteMode)

Démarre une tâche qui appelle l’écriture de la mémoire tampon d’octets.

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

Démarre une tâche qui appelle l’écriture de l’exemple de tableau 16 bits avec le mode d’écriture fourni.

WriteAsync(Int16[], Int32, Int32)

Démarre une tâche qui appelle l’écriture de 16 bits sample-array bloquante.

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

Démarre une tâche qui appelle l’écriture sample-array à virgule flottante.

Événements

Nom Description
MarkerReached

Se produit lorsque le suivi signale que sa tête de lecture a atteint le marqueur de notification configuré.

PeriodicNotification

Se produit lorsque la piste remet une notification de position de lecture périodique.

RoutingChanged

Se produit lorsque la piste remet une notification de modification d’itinéraire audio.

Implémentations d’interfaces explicites

Nom Description
IJavaPeerable.Disposed()

Marque cet homologue comme supprimé et appelle Dispose avec disposing la valeur définie truesur .

(Hérité de JavaObject)
IJavaPeerable.Finalized()

Marque cet homologue comme supprimé et appelle Dispose avec disposing la valeur définie falsesur .

(Hérité de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Obtient le pointeur de bloc de contrôle natif utilisé par cet homologue.

(Hérité de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Stocke le code de hachage d’identité fourni par le runtime.

(Hérité de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Remplace les indicateurs d’état d’homologue géré stockés.

(Hérité de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Met à jour la référence d’homologue et libère le bloc de contrôle d’un homologue supprimé lorsque la référence n’est pas valide.

(Hérité de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Supprime cette instance de la recherche d'objets Java du runtime.

Méthodes d’extension

Nom Description
GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Réutilise un homologue managé compatible ou obtient un wrapper du type demandé.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

S’applique à