OGeek|极客世界-中国程序员成长平台

标题: ios - 使用 DJI SDK 创建 VR 应用 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 13:38
标题: ios - 使用 DJI SDK 创建 VR 应用

我正在使用 DJI SDK 创建一个 VR 应用。

我有两个 UIView,fpvPreviewView1 和 fpvPreviewView2。

如何创建同一相机的两个实例?它目前只显示在一个 View 中。

这是相关代码。

DJICamera *camera = [self fetchCamera];
if (camera && camera.delegate == self)
    [camera setDelegate:nil];
[self resetVideoPreview];

- (DJICamera*) fetchCamera {
    if (![DJISDKManager product]) {
        return nil;
    }

    if ([[DJISDKManager product] isKindOfClass:[DJIAircraft class]]) {
        return ((DJIAircraft*)[DJISDKManager product]).camera;
    }else if ([[DJISDKManager product] isKindOfClass:[DJIHandheld class]]){
        return ((DJIHandheld *)[DJISDKManager product]).camera;
    }

    return nil;
}

[[VideoPreviewer instance] setView:self.fpvPreviewView1];
[[VideoPreviewer instance] setView:self.fpvPreviewView2];
[[VideoPreviewer instance] setView:self.fpvPreviewView1];
[[VideoPreviewer instance] setView:self.fpvPreviewView2];

时间敏感。请帮忙!

谢谢!



Best Answer-推荐答案


您当前所做的是每次重置视频预览器单例的 View 。 您要做的是创建多个 VideoPreviewer 实例并保留引用以正确管理资源。 VideoPreviewer 很重。

试试这个:

self.firstVP = [[VideoPreviewer alloc] init]; 
[self.firstVP setView:self.fpvPreviewView1];
self.secondVP = [[VideoPreviewer alloc] init];
[self.secondVP setView:self.fpvPreviewView2];

希望这会有所帮助。

关于ios - 使用 DJI SDK 创建 VR 应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45775923/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4