AudioBuffers.SetData 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
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 ();
}