这是我的代码:
long max = pcmU16.Length;
long index = 0;
fixed (ushort* srcFix = pcmU16)
{
ushort* src = srcFix;
next:
*src = 32768;
src++;
index++;
if (index != max)
{
goto next;
}
}
就像你看到的那样,它一次写入2个字节。如何使用ulong类型并一次写入8个字节? pcmU16是ushort [] array。
答案 0 :(得分:2)
你只是强迫它:
ulong* src = (ulong*)srcFix;
值得关注的事情:
max
需要除以4,否则您将超出范围ushort
值(max
最初为10);这是2组ulong
(每组4个),最后2个ushort
;通常的除数/余数作为最后一点,你可能会找到更方便的索引语法,即
for(int i = 0 ; i < max ; i++) {
src[i] = ...
}