Ошибка определения изображения ARKit при попытке воспроизведения видео - PullRequest
1 голос
/ 16 марта 2020

Я пытаюсь создать приложение, используя версию 11.3.1 XCode, следуя этому учебнику . Приложение с обнаружением задней обложки mov ie (изображение задней части в папке AR Resources), а затем показывает трейлер mov ie. Видео имеет размеры 1280 х 720 пикселей. В обучающем видео используемое видео снято на iPhone (1080 X 1920 пикселей). Ранее я пытался воспроизвести видеозапись, снятую на iPhone, и она работает. Когда я пытаюсь использовать видео не такого размера, приложение зависает при обнаружении изображения. Я использую iPhone 7, и я пытался использовать iPhone 11, но все же не повезло. Я также попытался запустить видео в разных типах файлов (видео AVI, видео MPEG и видео QuickTime), это не помогло. Вот проблемный c фрагмент кода:

let videoURL = Bundle.main.url(forResource: "BDVideo", withExtension: "mp4")!
    let videoPlayer = AVPlayer(url: videoURL)

    let videoScene = SKScene(size: CGSize(width: 1280.0, height: 720.0))

    let videoNode = SKVideoNode(avPlayer: videoPlayer)
    videoNode.position = CGPoint(x: videoScene.size.width / 2, y: videoScene.size.height / 2)
    videoNode.size = videoScene.size
    videoNode.yScale = -1

    videoScene.addChild(videoNode)

    guard let video = container.childNode(withName: "BDVideo", recursively: false) else { return }
    video.geometry?.firstMaterial?.diffuse.contents = videoScene
}

}

Эта ошибка возникает в первой строке: "com.apple.scenekit.scnview-renderer (15): Неустранимая ошибка: неожиданно обнаружен ноль при развертывании Необязательное значение ». Помощь будет оценена, спасибо! Также вот ссылка github с проектом: https://github.com/SimonDwyer420/Movie-Image-Tracking

1 Ответ

0 голосов
/ 16 марта 2020

Скачал и попытался запустить ваш проект - проблема в строке

let videoURL = Bundle.main.url(forResource: "BDVideo", withExtension: "mp4")!

. Сам по себе BDVideo.mp4 отсутствует в репозитории GitHub, поэтому я предполагаю, что вы добавили к нему ссылку в навигатор проекта, но видеофайл фактически все находится в другом месте. Попробуйте удалить видео, скопируйте его в папку проекта и перетащите его в навигатор xCode.

...