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