Partager via


AudioBuffers.SetData Méthode

Définition

Surcharges

SetData(Int32, IntPtr)

Définit la mémoire tampon de données pour l’une des mémoires tampons audio, sans mettre à jour la taille de la mémoire tampon.

SetData(Int32, IntPtr, Int32)

Définit la mémoire tampon de données pour l’une des mémoires tampons audio.

SetData(Int32, IntPtr)

Définit la mémoire tampon de données pour l’une des mémoires tampons audio, sans mettre à jour la taille de la mémoire tampon.

public void SetData (int index, IntPtr data);
member this.SetData : int * nativeint -> unit

Paramètres

index
Int32

Index de la mémoire tampon à laquelle accéder.

data
IntPtr

nativeint

Pointeur vers les données à définir pour la mémoire tampon spécifiée.

Remarques

Vous pouvez utiliser cette méthode pour permuter l’une des mémoires tampons, sans mettre à jour la taille de la mémoire tampon.

//
// Creating an AudioBuffers structure 
//
AudioBuffers SetupBuffers (int n = 2, int size = 4096)
{
    var buffers = new AudioBuffers (n);
    for (int i = 0; i < n; i++)
	buffers.SetData (i, MyBuffers [0][i], size);
    return buffers;
}

//
// Swap the buffers
//
void SwapBuffers (AudioBuffers buffers, int bufferGroup)
{
    for (int i = 0; i < buffers.Count; i++)
    	buffers.SetData (i, MyBuffers [bufferGroup][i]);
}

S’applique à

SetData(Int32, IntPtr, Int32)

Définit la mémoire tampon de données pour l’une des mémoires tampons audio.

public void SetData (int index, IntPtr data, int dataByteSize);
member this.SetData : int * nativeint * int -> unit

Paramètres

index
Int32

Index de la mémoire tampon à laquelle accéder.

data
IntPtr

nativeint

Pointeur vers les données à définir pour la mémoire tampon spécifiée.

dataByteSize
Int32

Taille de la mémoire tampon.

Remarques

//
// Creating an AudioBuffers structure 
//
AudioBuffers SetupBuffers (int n = 2, int size = 4096)
{
    var buffers = new AudioBuffers (n);
    for (int i = 0; i < n; i++){
        var buffer = Marshal.AllocHGlobal (size);
	buffers.SetData (i, buffer, size);
    }
    return buffers;
}

void ReleaseBuffers (AudioBuffers buffers)
{
    for (int i = 0; i < buffers.Count; i++){
        var buf = buffers [i];
        Marshal.ReleaseHGlobal (buf.Data);                
    }
    buffers.Dispose ();
}

S’applique à