1、创建一个nvue页面,添加一个live-pusher组件
2、云打包后使用ios16.4系统运行APP
3、打开live-pusher组件所在的页面
- 发布:2023-04-04 11:06
- 更新:2026-07-29 10:29
- 阅读:1805
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 10
HBuilderX版本号: 3.7.7
手机系统: iOS
手机系统版本号: iOS 16
手机厂商: 苹果
手机机型: 16.4
页面类型: nvue
vue版本: vue3
打包方式: 云端
项目创建方式: CLI
CLI版本号: 3.6.18
操作步骤:
预期结果:
启动APP后首次推流能成功
启动APP后首次推流能成功
实际结果:
启动APP后首次推流不成功,第二次推流才成功
启动APP后首次推流不成功,第二次推流才成功
bug描述:
nvue页面使用了live-pusher组件,云打包后然后运行在ios16.4系统上,启动APP的首次推流都会推流失败,statechange最新回调提示了1010 ,Capturer Living...
然后在不重启APP的情况下退出页面,再重新直播就能正常直播推流
推流失败并出现状态码1010,通常是由于网络问题导致的。建议您检查一下以下几个方面:
确认推流地址是否正确,可以检查一下推流地址的网络情况是否良好。
检查推流的权限是否开启,可以在iOS系统的设置中找到应用程序,检查是否已经开启了摄像头和麦克风的权限。
检查网络连接是否正常,可以在设备上访问一下其他网站或者应用程序,确认网络连接是否正常。
如果您使用的是Wi-Fi网络,请尝试切换到4G网络或者使用其他Wi-Fi网络,确认是否能够正常推流。
如果以上方法都无法解决问题,可以考虑升级SDK版本或者联系SDK提供商获取帮助。
另外,如果您的应用程序中使用了多个live-pusher组件,建议您在使用完一个组件后,再销毁该组件并释放资源,避免资源占用过多导致推流失败。
2***@qq.com - 滴滴
我这边解决了,邪修方式使用的,其实就是第一次打开app开始直播推不了,提示1010,网上说的是ios版本16.4之后都会有这种sdk,bug,我的解决方案就是<live-pusher>加一个 v-if="openLiveStatus"控制上下文,@statechange="statechange"事件回调code为1010且为ios系统情况下,我们先把openLiveStatus设为false,然后将上下文实例置为null注销掉,然后将openLiveStatus设为true,然后重新重新获取上下文推流(最好叫定时器),这样连推两次就可以解决问题,中间的交互需要自己去优化一下,
然后安卓推流也有问题,有的时候退出app到后台,然后打开到前台有的会只有声音没有摄像头,这钟原因分两种情况,
1.live-pusher中有个事件叫 resume,翻译过来是重新开始,相机实例,这个事件很重要不要忽略
- uniapp的targetSdkVersion一般为30,我降版本28(能不能降版本最好看下自己项目能不能降低)
2***@qq.com (作者)
谢谢解答!
1、手机网络是正常的,因为第二次推流是正常的,只有在APP启动后的首次推流才失败,推流地址在其他型号上可正常推流,无这个问题
2、推流权限也是开启的,这个已经确认
3、这个SDK是uniapp的产品,所以来这里提BUG了
4、其他页面的live-pusher组件已经销毁了
2023-04-04 11:17
瑆箫
回复 2***@qq.com: 这个就应该是sdk的问题了
2023-04-04 11:20
1***@163.com
回复 瑆箫: 解决了吗
2025-12-04 13:53