uni-app video组件播放视频时,IOS设备只有声音没有图像

uni-app video组件播放视频时,IOS设备只有声音没有图像

开发环境 版本号 项目创建方式
Windows 3.2.12.20211029 HBuilderX

示例代码:

<video src="base64编码的视频文件" controls></video>

操作步骤:

  • ios微信内置游览器访问

预期结果:

  • 正常播放视频

实际结果:

  • Android可以正常播放,IOS没有图像只有声音

bug描述:

  • 使用video标签进行播放base64编码的视频文件,Android可以正常播放,IOS播放没有图像只有声音。IOS版本15.1

更多关于uni-app video组件播放视频时,IOS设备只有声音没有图像的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

解决了吗 我也遇到了 有些能正常播放 有些不能

更多关于uni-app video组件播放视频时,IOS设备只有声音没有图像的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这个问题通常是由于iOS对视频编码格式的支持限制导致的。iOS设备对H.264编码的视频支持较好,但对其他编码格式(如MPEG-4、VP8/VP9等)可能存在兼容性问题。

主要原因:

  1. iOS Safari对视频编码格式要求严格,可能不支持某些特定的编码参数。
  2. Base64编码的视频在iOS上可能存在解码问题。

解决方案:

  1. 检查视频编码格式 确保视频使用H.264编码,音频使用AAC编码,这是iOS最兼容的格式组合。

  2. 使用标准视频文件 建议使用标准视频文件(如MP4)而不是Base64编码:

    <video src="video.mp4" controls></video>
    
  3. 如果必须使用Base64,尝试以下方法:

    • 确保Base64字符串格式正确
    • 添加完整的MIME类型:
    <video src="data:video/mp4;base64,你的base64字符串" controls></video>
    
  4. 添加多个source源(推荐)

    <video controls>
      <source src="video.mp4" type="video/mp4">
      <source src="video.webm" type="video/webm">
      您的浏览器不支持video标签
    </video>
    
  5. 检查视频文件本身 使用视频处理工具重新编码视频,确保符合iOS要求:

    • 视频编码:H.264
    • 音频编码:AAC
    • 分辨率:建议使用常见分辨率
  6. uni-app特定配置manifest.json中配置视频播放器:

    {
      "app-plus": {
        "video": {
          "decoding": "hardware"
        }
      }
    }
回到顶部