debugly / ijkplayer

iOS/macOS/tvOS video player based on ijkplayer, using FFmpeg 6, support Metal、hw accel、HDR、ass subtitle effect...
https://ijkplayer.debugly.cn/
GNU General Public License v2.0
116 stars 20 forks source link

将播放方法 放在主线程中,就无法进行播放 #40

Closed 1996GJ closed 3 months ago

1996GJ commented 3 months ago

使用了上次发我的 Demo,进行模拟了下, 必现 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ //加载播放代码 }); 这样就无法播放了。因为一些业务逻辑,必须将播放 放 网络请求后,拿到地址,进行播放。

我把源码文件放在附件里 附件.zip

debugly commented 3 months ago

[self refreshPLayer]; 里只是创建好了播放器,你没让他加载,怎么可能播放。 118 行加个 [self.player prepareToPlay]; 就行了。

1996GJ commented 3 months ago

[self refreshPLayer]; 里只是创建好了播放器,你没让他加载,怎么可能播放。 118 行加个 [self.player prepareToPlay]; 就行了。

感谢,我以为 调用 [self.player player] 就可以了