如何在 iOS 中使用 VLC Player 使用 libvlc 播放 360 度视频
Posted
技术标签:
【中文标题】如何在 iOS 中使用 VLC Player 使用 libvlc 播放 360 度视频【英文标题】:How to play 360 video using libvlc using VLC Player in iOS 【发布时间】:2020-01-08 06:44:46 【问题描述】:我正在创建一个 ios 应用程序,我必须在其中使用 VLCPlayer 播放 360 度视频。我已经通过 pod 添加了 VLC,并在本地播放了 360 视频。但 VLC 无法平移视频。 VLC 不会将视频视为 360 视频。我应该做很多设置来使用 VLC 播放 360 视频吗?
示例 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!))
【问题讨论】:
您的视频标记是否正确?是否包含 360 元数据? 是的。它与从应用商店下载的 vlc 应用程序正常工作。当我将相同的视频作为通过 cocoapod 集成的 vlc 播放器的文件路径提供时,它的播放就像普通视频一样。 请出示您的代码 不在评论中,在您的原始问题中。请使用代码格式...***.com/help/how-to-ask 是的,我已经编辑了问题,请检查 【参考方案1】:您需要自己处理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
【讨论】:
以上是关于如何在 iOS 中使用 VLC Player 使用 libvlc 播放 360 度视频的主要内容,如果未能解决你的问题,请参考以下文章