我在套接字接收函数上获取了NSData
,并且试图将这些数据复制到我的音频类的tempbuffer
中,我正在使用外部类型全局变量来这样做。
这是我的代码:
memcpy([recorder tempBuffer].mdata,(__bridger const void *)data,data.length);
录音机是我的音频类的
extern
类型全局变量。当控制到达这一行代码时,将引发异常,这可能是错误。
最佳答案
这里确实存在三种可能性:
[recorder tempBuffer].mdata
不是有效的指针。 (例如,它是什么类型?如果它是 NSMutableData ,则应该访问其mutableBytes
属性。)[recorder tempBuffer].mdata
不是足够大小的有效指针(data.length
)。 (__bridger const void *)data
不是足够大小的有效指针。 在这三个中,我可以保证#3需要寻址。 NSData 本身不是所需的数据,而是包装所需数据的对象。而不是在这里使用桥,您应该使用
data.bytes
。另外两个,我无能为力。我不知道
mdata
是什么类型或它的分配位置。