草庐IT

audioBufferList

全部标签

swift - 为立体声音频流分配一个带有两个缓冲区的 AudioBufferList

我在C中有以下代码,它分配了一个具有适当长度的AudioBufferList。UInt32bufferSizeBytes=bufferSizeFrames*sizeof(Float32);propertySize=offsetof(AudioBufferList,mBuffers[0])+(sizeof(AudioBuffer)*mRecordSBD.mChannelsPerFrame);mBufferList=(AudioBufferList*)malloc(propertySize);mBufferList->mNumberBuffers=mRecordSBD.mChannelsP

iPhone:AudioBufferList 初始化和释放

初始化(分配内存)和释放(释放)具有3个AudioBuffers的AudioBufferList的正确方法是什么?(我知道可能有不止一种方法可以做到这一点。)我想使用这3个缓冲区将音频文件的顺序部分读入其中,并使用音频单元播放它们。 最佳答案 这是我的做法:AudioBufferList*AllocateABL(UInt32channelsPerFrame,UInt32bytesPerFrame,boolinterleaved,UInt32capacityFrames){AudioBufferList*bufferList=NULL

iPhone:AudioBufferList 初始化和释放

初始化(分配内存)和释放(释放)具有3个AudioBuffers的AudioBufferList的正确方法是什么?(我知道可能有不止一种方法可以做到这一点。)我想使用这3个缓冲区将音频文件的顺序部分读入其中,并使用音频单元播放它们。 最佳答案 这是我的做法:AudioBufferList*AllocateABL(UInt32channelsPerFrame,UInt32bytesPerFrame,boolinterleaved,UInt32capacityFrames){AudioBufferList*bufferList=NULL

ios - 在 Swift 中使用 AudioBufferList

我在Swift中有一个桥接函数,它在C中的参数之一是AudioBufferList*.在Swift中,这会生成一个UnsafePointer。.我设法通过调用audioData[0]来引用指针(有没有更好的办法?)。但我正在为接下来的两层而苦苦挣扎:.mBuffersAudioBuffer的数组的和他们的void*/UnsafePointer.mData成员。在C中它只是Float32*audioData=(Float32*)abl->mBuffers[0]->mData;output=audioData[sampleNum]...在Swift中,第一个奇怪的事情是它不允许我访问mBu

ios - 在 Swift 中使用 AudioBufferList

我在Swift中有一个桥接函数,它在C中的参数之一是AudioBufferList*.在Swift中,这会生成一个UnsafePointer。.我设法通过调用audioData[0]来引用指针(有没有更好的办法?)。但我正在为接下来的两层而苦苦挣扎:.mBuffersAudioBuffer的数组的和他们的void*/UnsafePointer.mData成员。在C中它只是Float32*audioData=(Float32*)abl->mBuffers[0]->mData;output=audioData[sampleNum]...在Swift中,第一个奇怪的事情是它不允许我访问mBu

ios - remoteIO音频单元播放回调中的AudioBufferList内容

我想在传输到iOS设备扬声器的过程中“拦截”音频数据。我相信这可以使用remoteIO音频单元和回调来完成。在下面的playbackCallback中,ioData实际上包含任何音频数据吗?staticOSStatusplaybackCallback(void*inRefCon,AudioUnitRenderActionFlags*ioActionFlags,constAudioTimeStamp*inTimeStamp,UInt32inBusNumber,UInt32inNumberFrames,AudioBufferList*ioData){...}我很困惑,因为有关ioData的

ios - AudioBufferList 在 Swift 中分配

我正在为这个API和Swift中的语法苦苦挣扎audioBufferList=AudioBufferList(mNumberBuffers:2,mBuffers:(AudioBuffer))我不知道(AudioBuffer)和()是什么意思?任何想法以及如何初始化它?这是来自标题:publicstructAudioBufferList{publicvarmNumberBuffers:UInt32publicvarmBuffers:(AudioBuffer)//thisisavariablelengtharrayofmNumberBufferselementspublicinit()pu

ios - 在 Swift 3 中从 AudioBufferList 中提取数据

我正在尝试从呈现的AudioBufferList中提取native[Float]数组,其中音频单元的流设置为32位浮点。在Swift1和2中,我这样做了:varmonoSamples=[Float]()foriin0..无疑这不是最快的方法,但它确实有效。在Swift3中,编译没有错误,但在运行时我遇到了崩溃:fatalerror:can'tunsafeBitCastbetweentypesofdifferentsizes这有点令人惊讶;Swift的Float是32位的,流的数据是32位的。我想做的很简单:withUnsafeMutablePointer(to:&bufferList.
12