Compartir a través de


AudioBuffers.SetData Método

Definición

Sobrecargas

SetData(Int32, IntPtr)

Establece el búfer de datos para uno de los búferes de audio, sin actualizar el tamaño del búfer.

SetData(Int32, IntPtr, Int32)

Establece el búfer de datos para uno de los búferes de audio.

SetData(Int32, IntPtr)

Establece el búfer de datos para uno de los búferes de audio, sin actualizar el tamaño del búfer.

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

Parámetros

index
Int32

Índice del búfer al que se va a acceder.

data
IntPtr

nativeint

Puntero a los datos que se van a establecer para el búfer especificado.

Comentarios

Puede usar este método para intercambiar uno de los búferes, sin actualizar el tamaño del búfer.

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

Se aplica a

SetData(Int32, IntPtr, Int32)

Establece el búfer de datos para uno de los búferes de audio.

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

Parámetros

index
Int32

Índice del búfer al que se va a acceder.

data
IntPtr

nativeint

Puntero a los datos que se van a establecer para el búfer especificado.

dataByteSize
Int32

Tamaño del búfer.

Comentarios

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

Se aplica a