Condividi tramite


AudioBuffers.SetData Metodo

Definizione

Overload

SetData(Int32, IntPtr)

Imposta il buffer dei dati per uno dei buffer audio, senza aggiornare le dimensioni del buffer.

SetData(Int32, IntPtr, Int32)

Imposta il buffer dei dati per uno dei buffer audio.

SetData(Int32, IntPtr)

Imposta il buffer dei dati per uno dei buffer audio, senza aggiornare le dimensioni del buffer.

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

Parametri

index
Int32

Indice del buffer a cui accedere.

data
IntPtr

nativeint

Puntatore ai dati da impostare per il buffer specificato.

Commenti

È possibile usare questo metodo per scambiare uno dei buffer, senza aggiornare le dimensioni del buffer.

//
// 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]);
}

Si applica a

SetData(Int32, IntPtr, Int32)

Imposta il buffer dei dati per uno dei buffer audio.

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

Parametri

index
Int32

Indice del buffer a cui accedere.

data
IntPtr

nativeint

Puntatore ai dati da impostare per il buffer specificato.

dataByteSize
Int32

Dimensioni del buffer.

Commenti

//
// 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 ();
}

Si applica a