iOS webview本地视频无法播放的问题

[复制链接]
查看919 | 回复2 | 2024-10-10 16:33:32 | 显示全部楼层 |阅读模式
爱星物联app混合开发遇到过一个问题,在使用wkwebview时,把app本地视频作为H5 页面的背景自动播放,刚开始没问题,时间长了,出现一个很严重的问题,本地视频无法播放了。想了很多办法,把app删除重装,清除app的缓存,各种操作都无法恢复,最后无奈重启手机才恢复。不知道各位有没有遇到过这样的问题,后面发现切换系统语言也能恢复。没办法了,测试在无法播放本地视频的情况下,把远程视频作为H5 页面的背景自动播放,完全没问题,不受影响。所以,我的解决方案就是在app本地开一个http文件服务,把app本地视频挂在本地服务上,wkwebview可通过http地址访问。方案源码如下:
  1. // 用到的第三方库:Criollo
  2. // 启动服务
  3. static NSString *const kWWWMount = @"/self";
  4. static UInt16 localServerPort = 35662;

  5.             CRServer *localServer = [CRHTTPServer new];
  6.             [localServer mount:kWWWMount directoryAtPath:[NSBundle.mainBundle pathForResource:@"www" ofType:nil] options:0];
  7.             [localServer startListening:NULL portNumber:localServerPort];
  8.             [NSNotificationCenter.defaultCenter addObserver:localServer selector:@selector(stopListening) name:UIApplicationWillTerminateNotification object:nil];


  9. // 获取挂载的根目录url
  10. + (NSString *)localServerWWWUrl
  11. {
  12.     if (0 == localServerPort) {
  13.         return nil;
  14.     }
  15.     return [NSString stringWithFormat:@"http://localhost:%d%@/", localServerPort, kWWWMount];
  16. }
复制代码
经过长时间测试,此方案可以避免上面的出现的问题,各位若是有更好的解决方案,还请不吝赐教。
回复

使用道具 举报

putin | 2024-10-12 08:09:33 | 显示全部楼层

回帖奖励 +2 金钱

怎么感觉有点奇怪
回复 支持 反对

使用道具 举报

lazy | 2024-10-14 11:14:41 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则