ios - 打开 DJI Go 4 后,MSDK 中无法使用 Mavic 2 视频源
问题描述
使用 DJI Go 4 应用程序后,我无法通过 Mavic 2 Pro 的 Mobile SDK 访问视频源,除非重新启动无人机/遥控器或从我的 iOS 设备断开并重新连接遥控器的 USB 电缆。
这个问题似乎是 Mavic 2 (Pro) 独有的。Mavic Pro 或 Phantom 4 不会出现此问题。我已尝试重置 DJICamera、DJIVideoFeed、DJIVideoFeedView 和 DJIVideoPreviewer(DJI Widget) 实例,但无法获取实时视频反馈。有没有人遇到过类似的问题?
更新:事实证明,改变纵横比,即调用setPhotoAspectRatio:withCompletion
并传递与当前设置的纵横比不同的纵横比可以解决问题。是否有其他东西可能具有相同的效果,而不是随意切换纵横比?
解决方案
After looking more closely at the DJI SDK Video Preview Adapter code here I realised I was not extending the DJIVideoPreviewerFrameControlDelegate methods parseDecodingAssistInfoWithBuffer, isNeedFitFrameWidth, syncDecoderStatus, decodingDidSucceedWithTimestamp and decodingDidFail which handle video decoding issues. Once I implemented the video adapter I was able to access the video feed regardless of which app had accessed it previously.
推荐阅读
- python - 为什么 Python 允许解压一个空的可迭代对象?
- c# - 使用 C# 在 sharepoint 中复制和应用保留标签
- python - 将文件从已安装的 Google Drive 复制到本地 Google Colab 会话
- javascript - 设置 getElementById 时网页未更新
- python - 使用下一页按钮检索元素和循环页面时遇到问题
- c - 对 strlcpy 和 strlcat 的未定义引用
- php - 错误正在记录,但不保存自定义 error_log 文件
- php - 如何在 php 中基于角色创建多用户(管理员、注册用户、普通访客)登录系统?
- python - 为什么当我编译时我得到用户名和密码不被接受?
- java - Lwjgl窗口打不开