我有具有 格式AudioQueueBuffer
的音频数据 。void * const
我想要我的编解码器的短数组(short *
)音频数据。
如何在 Objective c 中将 void * const 转换为 Short * ???类型从 void 转换为 short 可能吗?或者我必须使用一些字节顺序转换,比如OSReadBigInt16
??? 如果是转换样本?请帮我找到解决方案。
我有具有 格式AudioQueueBuffer
的音频数据 。void * const
我想要我的编解码器的短数组(short *
)音频数据。
如何在 Objective c 中将 void * const 转换为 Short * ???类型从 void 转换为 short 可能吗?或者我必须使用一些字节顺序转换,比如OSReadBigInt16
??? 如果是转换样本?请帮我找到解决方案。
是的,Objective-C 就像用于类型转换的 C。这意味着如果您想将void *
指针解释为short *
指针,您需要做的就是:
(short *)voidPointer
如果字节的顺序不正确(即字节顺序不匹配),您也需要处理它 - 但是,根据您的问题中的信息,无法判断是否是这种情况。
void*
是声明无类型指针的约定。这样的指针需要重新解释为指向某些数据类型的指针。它是否有效取决于您或 API 在void*
指针指向的地址上放置的内容:如果它是一个short
没有间隙的值序列,则简单的强制转换short*
将起作用;否则,您可能需要执行额外的转换。