Как воспроизвести видео 360, используя libvl c, используя VL C Player в iOS - PullRequest
0 голосов
/ 08 января 2020

Я создаю iOS Приложение, где мне нужно воспроизвести 360 видео с помощью VLCPlayer. Я добавил VL C через стручок и сыграл 360 видео локально. Но VL C не может панорамировать видео. VL C не рассматривает видео как 360 видео. Должен ли я установить множество параметров для воспроизведения видео 360 с использованием VL C?

Пример URL-адреса видео 360 https://drive.google.com/file/d/1TzoxrWMdiLBuf5TTq0v6lz-KNtxeMOb2/view

override func viewDidLoad() {
    super.viewDidLoad()
    guard let path = Bundle.main.path(forResource: "rico", ofType:"mov") else {
        debugPrint("video.m4v not found")
        return
    }
    mediaURL = path
    setupMediaPLayer()
}
override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    mediaPlayer.play()
}
func setupMediaPLayer() {
    mediaPlayer.delegate = self
    mediaPlayer.drawable = movieView
    mediaPlayer.media = VLCMedia(url: URL(fileURLWithPath: mediaURL!))
}

1 Ответ

1 голос
/ 13 января 2020

Вам нужно обработать UIPinchGestureRecognizer себя для 360 видео.

- (void)handlePinchGesture:(UIPinchGestureRecognizer *)recognizer
{
    CGFloat diff = DEFAULT_FOV * -(ZOOM_SENSITIVITY * recognizer.velocity / _screenPixelSize.width);

    if ([_vpc currentMediaIs360Video]) {
        [self zoom360Video:diff];
    } else if (recognizer.velocity < 0. && _closeGestureEnabled) {
        [self minimizePlayback:nil];
    }
}

См. Этот код для примера https://github.com/videolan/vlc-ios/blob/eab270fb5cf9622386aef7040113e9b37fe2406f/Sources/VLCMovieViewController.m#L783

...