>"-6ren"> >"-请帮助语法: __weak typeof (self) weakSelf = self; [self.audioFile getWaveformDataWithCompletionBlock:^(fl-6ren">
gpt4 book ai didi

objective-c - 如何用 arg 写 block 。 Swift 闭包中的 "UnsafeMutablePointer>"

转载 作者:行者123 更新时间:2023-11-28 07:03:55 28 4
gpt4 key购买 nike

请帮助语法:

__weak typeof (self) weakSelf = self;
[self.audioFile getWaveformDataWithCompletionBlock:^(float **waveformData,
int length)
{
[weakSelf.audioPlot updateBuffer:waveformData[0]
withBufferSize:length];
}];

波形数据本身会是一个float数组组成的数组,每个 channel 一个,长度表示每个float数组的总长度。 @param waveformData float 组的数组,每个代表文件中音频数据的 channel @param length 一个int,代表每路float音频数据的长度

很快我有:

cell.audioFile.getWaveformDataWithCompletionBlock { (UnsafeMutablePointer<UnsafeMutablePointer<Float>>, Int32) -> Void 

}

我坚持使用 UnsafeMutablePointer>

我需要使用这个参数。在:

cell.audioWaveView.updateBuffer(缓冲区:UnsafeMutablePointer,withBufferSize:Int32)

最佳答案

我知道这可能是一个老问题,但我也在为同样的事情苦苦挣扎,我终于解决了:

您需要将参数作为 WaveformDataCompletionBlock 闭包传递给 block ,并且您的参数应该是一个 UnsafeMutablePointer 和一个 UInt32。所以代码应该是这样的:

self.audioFile = EZAudioFile(URL: self.soundFileURL)
var waveClosure: WaveformDataCompletionBlock = {
(waveForData: UnsafeMutablePointer<Float>, length: UInt32) in
//Do something
}
self.audioFile.getWaveformDataWithCompletionBlock(waveClosure)

我希望这对某些人有用:)

关于objective-c - 如何用 arg 写 block 。 Swift 闭包中的 "UnsafeMutablePointer<UnsafeMutablePointer<Float>>",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31305488/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com