有人可以帮助我将此方法转换为swift吗?
-(void) camera:(DJICamera*)camera didReceivedVideoData:(uint8_t*)videoBuffer length:(int)length {
uint8_t* pBuffer = (uint8_t*)malloc(length);
memcpy(pBuffer, videoBuffer, length);
[[VideoPreviewer instance].dataQueue push:pBuffer length:length];
}
我的翻译就在下面,然而,应用程序崩溃了。 因为在这种情况下它需要USB连接到无人机,我无法调试它。
func camera(camera: DJICamera!, didReceivedVideoData videoBuffer: UnsafeMutablePointer<UInt8>, length: Int32)
{
VideoPreviewer.instance().dataQueue.push(videoBuffer, length: length)
}
答案 0 :(得分:2)
我编译并且有效。
func camera(camera: DJICamera!, didReceivedVideoData videoBuffer: UnsafeMutablePointer<UInt8>, length: Int32) {
// keep 'buffer' as 'var', 'let' will crash VideoPreviewer
var buffer = UnsafeMutablePointer<UInt8>.alloc(Int(length))
memcpy(buffer, videoBuffer, Int(length))
VideoPreviewer.instance().dataQueue.push(buffer, length: length)
}