2015-09-02 2 views
3

Может кто-нибудь помочь мне преобразовать этот метод в быстрый?IOS, конвертировать из Obj-c в 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) 
} 

ответ

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) 
    } 
Смежные вопросы