s***@qqikids.com
s***@qqikids.com
  • 发布:2020-12-23 14:47
  • 更新:2020-12-24 12:00
  • 阅读:964

【报Bug】video组件在subNVue中无法播放本地视频文件 仅iOS环境中出现 在安卓环境中可正常播放本地视频文件

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: macOS 11.1

HBuilderX类型: 正式

HBuilderX版本号: 2.9.8

手机系统: iOS

手机系统版本号: IOS 14

手机厂商: 苹果

手机机型: iPhone 11

页面类型: nvue

nvue编译模式: fast

打包方式: 离线

项目创建方式: HBuilderX

示例代码:
    <view class="video-box">  
        <!-- video组件 -->  
        <video  
            class="video"  
            id="cmpVideo"  
            ref="cmpVideo"  
            :src="videoPath"  
            :show-play-btn="false"  
            :show-center-play-btn="false"  
            :show-mute-btn="false"  
            :direction="-90"  
            :autoplay="true"  
            :controls="true"  
            @play="videoOnPlay"  
            @pause="videoOnPause"  
            @ended="videoOnFinish"  
            @fullscreenchange="videoFullscreenChange"  
            @error="videoOnError"  
            @fullscreenclick="onClickVideo"  
            @controlstoggle="controlstoggle"  
            @timeupdate="onTimeUpdate"  
        >  
        </video>  
    </view>  
</template>  

操作步骤:
  1. subNvue所使用的nvue文件中使用video组件
  2. video组件中的src属性设置为本地视频文件路径。
  3. 用标准基座运行到iOS设备上。
  4. 无法播放本地视频文件

预期结果:
  1. subNvue所使用的nvue文件中使用video组件
  2. video组件中的src属性设置为本地视频文件路径。
  3. 用标准基座运行到iOS设备上。
  4. 可播放视频文件

实际结果:
  1. subNvue所使用的nvue文件中使用video组件
  2. video组件中的src属性设置为本地视频文件路径。
  3. 用标准基座运行到iOS设备上。
  4. 无法播放本地视频文件

bug描述:

    <view class="video-box">  
        <!-- video组件 -->  
        <video  
            class="video"  
            id="cmpVideo"  
            ref="cmpVideo"  
            :src="videoPath"  
            :show-play-btn="false"  
            :show-center-play-btn="false"  
            :show-mute-btn="false"  
            :direction="-90"  
            :autoplay="true"  
            :controls="true"  
            @play="videoOnPlay"  
            @pause="videoOnPause"  
            @ended="videoOnFinish"  
            @fullscreenchange="videoFullscreenChange"  
            @error="videoOnError"  
            @fullscreenclick="onClickVideo"  
            @controlstoggle="controlstoggle"  
            @timeupdate="onTimeUpdate"  
        >  
        </video>  
    </view>  
</template>  

将nvue文件作为subNVue的path使用时,如果nvue文件中使用了video组件,当把src属性设置为本地文件时,播放会触发error回调,返回错误:

    "type": "error",  
    "timeStamp": 1608704227112,  
    "target": {  
        "id": "cmpVideo",  
        "dataset": {},  
        "offsetLeft": 0,  
        "offsetTop": 0  
    },  
    "currentTarget": {  
        "id": "cmpVideo",  
        "dataset": {},  
        "offsetLeft": 0,  
        "offsetTop": 0  
    },  
    "detail": {},  
    "stopPropagation": "function() { [native code] }"  
}

仅iOS手机复现,标准基座和定义基座都复现,同样的代码,在安卓环境中可正常播放视频

2020-12-23 14:47 负责人:iOS_DJX 分享
已邀请:
iOS_DJX

iOS_DJX

Bug已确认 修复中 下个版本功能可以正常

  • s***@qqikids.com (作者)

    感谢帮助,请问下个版本大概多久发布

    2020-12-24 12:55

  • iOS_DJX

    回复 s***@qqikids.com: 这个目前不好说 而且我看了一下 你是延迟给播放器赋值了 如果一开始就给 我测试是没问题 问题是后期赋值 video组件 没及时更新url 导致的

    2020-12-24 17:17

  • iOS_DJX

    如果 你没有延迟赋值的需求 直接一开始就给视频赋值 本地视频也是可以的

    2020-12-24 17:17

  • s***@qqikids.com (作者)

    回复 iOS_DJX: 当然有这个需求,不仅要延迟赋值,而且得支持随意切换地址。等待修复中

    2020-12-29 14:15

  • iOS_DJX

    回复 s***@qqikids.com: 已经修复了 HX 3.0.3 更新一下

    2020-12-29 14:42

  • iOS_DJX

    回复 s***@qqikids.com: 试好了 告诉我一下结果 我更新下状态

    2020-12-29 16:41

  • s***@qqikids.com (作者)

    回复 iOS_DJX: HBuilderX 3.0.3 -alpha 已修复,已验证

    2020-12-29 18:16

DCloud_uniCloud_JSON

DCloud_uniCloud_JSON

请提供:完整可直接运行,能复现你描述的问题的demo

  • s***@qqikids.com (作者)

    demo已上传,请注意在iOS环境下真机运行,视频无法播放。安卓真机运行视频正常播放

    2020-12-23 16:56

要回复问题请先登录注册