Freigeben über


AudioBuffers.SetData Methode

Definition

Überlädt

SetData(Int32, IntPtr)

Legt den Datenpuffer für einen der Audiopuffer fest, ohne die Puffergröße zu aktualisieren.

SetData(Int32, IntPtr, Int32)

Legt den Datenpuffer für einen der Audiopuffer fest.

SetData(Int32, IntPtr)

Legt den Datenpuffer für einen der Audiopuffer fest, ohne die Puffergröße zu aktualisieren.

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

Parameter

index
Int32

Index des Puffers, auf den zugegriffen werden soll.

data
IntPtr

nativeint

Zeiger auf die Daten, die für den angegebenen Puffer festgelegt werden sollen.

Hinweise

Mit dieser Methode können Sie einen der Puffer austauschen, ohne die Größe des Puffers zu aktualisieren.

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

Gilt für:

SetData(Int32, IntPtr, Int32)

Legt den Datenpuffer für einen der Audiopuffer fest.

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

Parameter

index
Int32

Index des Puffers, auf den zugegriffen werden soll.

data
IntPtr

nativeint

Zeiger auf die Daten, die für den angegebenen Puffer festgelegt werden sollen.

dataByteSize
Int32

Größe des Puffers.

Hinweise

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

Gilt für: