Objective c 更新AudioBufferList后字节不匹配

Objective c 更新AudioBufferList后字节不匹配,objective-c,nsdata,core-audio,audiobufferlist,Objective C,Nsdata,Core Audio,Audiobufferlist,**********************总计:1250字节*********************** NSData *dataBytes = [NSData dataWithBytes:data->mBuffers[0].mData length:data->mBuffers[0].mDataByteSize]; viewController->dataAudioBytes的打印说明:f3fed5fe 83fe66fd b4fc78fc e1fb5afb 2cfb4df

**********************总计:1250字节***********************

 NSData *dataBytes = [NSData dataWithBytes:data->mBuffers[0].mData
 length:data->mBuffers[0].mDataByteSize];
viewController->dataAudioBytes的打印说明:f3fed5fe 83fe66fd b4fc78fc e1fb5afb 2cfb4dfb b3fb8ffb 32fad5f9 64fbacfc 7dfdc3fd 4bfe8cff 1500f2ff edffb400 3c01ef01 56038d04 a704bd04 5e054205 c8053206 5505e804 74048a04 9a042504 2f045f03 04027400 e7fe63fe effda4fd 1ffd5dfc 81fc64fd 9dfd9efd 81fe51ff 16ffadfe a1fe4bff 57ffdefe 1AFF3A000 2301b500 D1FFAFF dbfff1ff 5600c500 97000200 b9ff3700 8700e400 7501d801 4302e001 4e015b01 a9015901 28019101 7d015201 5501c101 5e021f03 9603bb02 67010a01 2c012301 5400dbfe 65fed1fe c0ff2b00 d8ffdbff 20002300 47007e00 63006400 5c00e800 9d016f01 76008aff 2BF82FF 4DF4BFE f6fc3afc 7efc52fd 1FEE3FE d2fe69fe 8dfe02fe 8dfd0efe效果7FC b7fd87fd d8fcd4fc 6dfd6efe fdfeb8ff 1e0003ff a0fe07ff 5FFB6FF 7eff43ff bdfe56ff e6ff0f00 47009300

****************从1250字节中选择320字节*****************

 NSData *dataBytes = [NSData dataWithBytes:data->mBuffers[0].mData
 length:data->mBuffers[0].mDataByteSize];
bytes320:f3fed5fe 83fe66fd b4fc78fc e1fb5afb的打印说明 2cfb4dfb b3fb8ffb 32fad5f9 64fbacfc 7dfdc3fd 4bfe8cff 1500f2ff edffb400 3c01ef01 56038d04 A704BD004 5e054205 c8053206 5505e804 74048a04 9a042504 2f045f03 04027400 e7fe63fe EFFDDA4FD 1ffd5dfc 81fc64fd 9dfd9efd 81fe51ff 16ffadfe a1fe4bff 57ffdefe 1aff3a00 2301b500 d1ffacff dbfff1ff 5600c500 97000200 b9ff3700 8700e400 7501d801 4302e001 4e015b01 a9015901 28019101 7d015201 5501c101 5e021f03 9603bb02 67010a01 2c012301 5400dbfe 65fed1fe c0ff2b00 d8ffdbff 20002300 47007e00 6306400 5c00e800 9d016f01 76008aff 2bff82ff 4DF4BFE f6fc3afc 7efc52fd 1FEE3FE d2fe69fe 8dfe02fe 8dfd0efe EFCA7FC b7fd87fd d8fcd4fc 6dfd6efe fdfeb8ff 1e0003ff a0fe07ff 5bffb6ff 7eff43ff bdfe56ff e6ff0f00 47009300

****************更改AudioBufferList字节*****************

 NSData *dataBytes = [NSData dataWithBytes:data->mBuffers[0].mData
 length:data->mBuffers[0].mDataByteSize];
数据字节的打印说明:29a067a8 a1210000 4001000000000000 f3fed5fe 83fe66fd b4fc78fc e1fb5afb 2cfb4dfb b3fb8ffb 32fad5f9 64fbacfc 7dfdc3fd 4bfe8cff 1500f2ff edffb400 3c01ef01 56038d04 a704bd04 5e054205 c8053206 5505e804 74048a04 9a042504 2f045f03 04027400 e7fe63fe效果1ffd5dfc 81fc64fd 9dfd9efd 81fe51ff 16ffadfe a1fe4bff 57ffdefe 1aff3a00 2301b500 D1FFAFF dbfff1ff 5600c500 97000200 b9ff3700 8700e400 7501d801 4302E0001 4e015b01 a9015901 28019101 7d015201 5501c101 5e021f03 9603bb02 67010a01 2c012301 5400dbfe 65fed1fe c0ff2b00 d8ffdbff 20002300 47007e00 6306400 5c00e800 9d016f01 76008aff 2BF82FF 4DF4BFE f6fc3afc 7efc52fd 1efee3fe d2fe69fe 8dfe02fe 8dfd0efe EFCA7FC b7fd87fd d8fcd4fc 6dfd6efe fdfeb8ff 1e0003ff a0fe07ff 5BFB6FF


您可能应该将mData指向bytes320的字节,而不是对象本身

ioData->mBuffers[0].mData = bytes320.bytes; 

自己寻找解决方案。

NSData *data = [NSData dataWithContentsOfFile:filePath];
NSUInteger len = [data length];
Byte *byteData = (Byte*)malloc(len);
memcpy(byteData, [data bytes], len);

如何从
ioData
转换到
encodeAudio