MobileVLCKit播放器在iOS 11上显示黑屏

Har*_*ani 2 mobile vlc ios ios11 xcode9

在我的项目中使用MobileVLCKit 3.0.0播放媒体.

所有类型的视频都能在iOS9和10上成功播放但在iOS 11视频音频上能够收听,但图片无法显示并显示黑屏.

给出以下日志:

2017-09-18 18:26:17.640065+0800 DemoPlayer[39923:369260] creating player instance using shared library
=================================================================
Main Thread Checker: UI API called on a background thread: -[UIView bounds]
PID: 39923, TID: 369593, Thread name: (none), Queue name: com.apple.root.default-qos.overcommit, QoS: 21
Backtrace:
4   DemoPlayer                          0x0000000108349895 Open + 405
2017-09-18 18:26:23.490963+0800 DemoPlayer[39923:369593] [reports] Main Thread Checker: UI API called on a background thread: -[UIView bounds]
PID: 39923, TID: 369593, Thread name: (none), Queue name: com.apple.root.default-qos.overcommit, QoS: 21
Backtrace:
4   DemoPlayer                          0x0000000108349895 Open + 405
=================================================================
Main Thread Checker: UI API called on a background thread: -[UIView initWithFrame:]
PID: 39923, TID: 369593, Thread name: (none), Queue name: com.apple.root.default-qos.overcommit, QoS: 21
Backtrace:
4   DemoPlayer                          0x0000000108349f3b -[VLCOpenGLES2VideoView initWithFrame:zeroCopy:voutDisplay:] + 91
2017-09-18 18:26:23.875359+0800 DemoPlayer[39923:369593] [reports] Main Thread Checker: UI API called on a background thread: -[UIView initWithFrame:]
PID: 39923, TID: 369593, Thread name: (none), Queue name: com.apple.root.default-qos.overcommit, QoS: 21
Backtrace:
4   DemoPlayer                          0x0000000108349f3b -[VLCOpenGLES2VideoView initWithFrame:zeroCopy:voutDisplay:] + 91
2017-09-18 18:26:23.959355+0800 DemoPlayer[39923:369593] CoreAnimation: [EAGLContext renderbufferStorage:fromDrawable:] was called from a non-main thread in an implicit transaction! Note that this may be unsafe without an explicit CATransaction or a call to [CATransaction flush].
shader program 1: WARNING: Output of vertex shader 'TexCoord1' not read by fragment shader
WARNING: Output of vertex shader 'TexCoord2' not read by fragment shader
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Har*_*ani 6

最后,得到了解决方案......

现在'MobileVLCKit-Unstable'版本已于9月20日更新为master,UIKit来自后台线程(iOS 11视频播放)问题.

解决方法1:

添加pod 'MobileVLCKit-unstable', '3.0.0a38'到podfile并运行pod install

解决方案2:

  1. 从以下URL克隆了repo:http://code.videolan.org/videolan/VLCKit.git

  2. 打开终端,导航到根目录并执行./buildMobileVLCKit.sh -f(注意:可能需要1-2小时才能完成)

  3. 成功完成后,MobileVLCKit.framework将在VLCKit/build /文件夹位置生成.
  4. 只需将其拖到您的项目中即可.