Поделиться через


AudioBuffers.SetData Метод

Определение

Перегрузки

SetData(Int32, IntPtr)

Задает буфер данных для одного из звуковых буферов, не обновляя размер буфера.

SetData(Int32, IntPtr, Int32)

Задает буфер данных для одного из звуковых буферов.

SetData(Int32, IntPtr)

Задает буфер данных для одного из звуковых буферов, не обновляя размер буфера.

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

Параметры

index
Int32

Индекс буфера для доступа.

data
IntPtr

nativeint

Указатель на данные, которые необходимо задать для указанного буфера.

Комментарии

Этот метод можно использовать для замены одного из буферов без обновления размера буфера.

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

Применяется к

SetData(Int32, IntPtr, Int32)

Задает буфер данных для одного из звуковых буферов.

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

Параметры

index
Int32

Индекс буфера для доступа.

data
IntPtr

nativeint

Указатель на данные, которые необходимо задать для указанного буфера.

dataByteSize
Int32

Размер буфера.

Комментарии

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

Применяется к