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