【发布时间】:2015-03-01 20:17:41
【问题描述】:
我的代码需要将 16 位 PCM 样本从内存写入 AudioBuffer。
// Completely override the output callback function
- (void)
output:(EZOutput *)output
callbackWithActionFlags:(AudioUnitRenderActionFlags *)ioActionFlags
inTimeStamp:(const AudioTimeStamp *)inTimeStamp
inBusNumber:(UInt32)inBusNumber
inNumberFrames:(UInt32)inNumberFrames
ioData:(AudioBufferList *)ioData {
for (int i = 0; i < ioData->mNumberBuffers; i++) {
AudioBuffer audioBuffer = ioData->mBuffers[i];
for (int j = 0; j < audioBuffer.mDataByteSize; j++) {
audioBuffer.mData[j]; //void* how do I know what this expects??
}
}
// Fill the ioData with your audio data from anywhere
}
我正在使用来自https://github.com/syedhali/EZAudio 的 EZAUdio 框架来帮助播放我使用专有机制下载的一些 PCM 音频数据。
我应该如何归档 void* 类型的缓冲区?这不就是一个指向任意位置的指针吗?
【问题讨论】:
标签: ios objective-c audio core-audio ezaudio