У меня есть этот метод EZAudio в моем проекте Swift для захвата звука с микрофона:
func microphone(microphone: EZMicrophone!, hasAudioReceived bufferList: UnsafeMutablePointer<UnsafeMutablePointer<Float>>, withBufferSize bufferSize: UInt32, withNumberOfChannels numberOfChannels: UInt32) {
}
Но что мне действительно нужно, так это иметь этот параметр «bufferList» как тип AudioBufferList, чтобы отправлять эти аудиопакеты через сокет, как я делал в Objective C:
//Objective C pseudocode:
for(int i = 0; i < bufferList.mNumberBuffers; ++i){
AudioBuffer buffer = bufferList.mBuffers[i];
audio = ["audio": NSData(bytes: buffer.mData, length: Int(buffer.mDataByteSize))];
socket.emit("message", audio);
}
Как я могу преобразовать эту переменную UnsafeMutablePointer> в AudioBufferList?