uni-app video组件在nvue页面跳转到vue播放页面时无法播放融云视频

发布于 1周前 作者 sinazl 来自 Uni-App

uni-app video组件在nvue页面跳转到vue播放页面时无法播放融云视频

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

产品分类:
uniapp/App

PC开发环境操作系统:
Windows

HBuilderX类型:
Alpha

HBuilderX版本号:
3.99

手机系统:
Android

手机系统版本号:
Android 9.0

手机厂商:
模拟器

手机机型:
三星

页面类型:
vue

vue版本:
vue2

打包方式:
云端

项目创建方式:
HBuilderX

示例代码:

http://rongcloud-sight-short.ronghub.com/CApdVldPAEYIDkRLSAoHCwcBBAQADQEEBA0HMDg1Mw%3D%3D.mp4?e=1721026523&token=CddrKW5AbOMQaDRwc3ReDNvo3-sL_SO1fSUBKV3H:SQDZQqA7SJHaxknJM7nbSnhQniU=  

这是融云的视频链接,video组件播放报错 mp is deprecated

操作步骤:

最新发现,是从nvue页面跳到vue播放页面才出现的这个问题,播不了,上边视频链接定义一个参数赋值就播不了:src=“url”, 如果直接放在src上是能播放的

预期结果:

能播放

实际结果:

黑屏


11 回复

真机可以播放


你怎么写的代码?我这里是播不了

回复 乔小猿:就这样

回复 喜欢技术的前端: 最新发现,上边视频链接定义一个参数赋值就播不了了,:src=“url”

如果直接放在src上是能播放的

回复 喜欢技术的前端: APP中从一个nvue的页面,跳到vue的播放页面,就播不了,很奇怪

最新发现,上边视频链接定义一个参数赋值就播不了了,:src=“url”
如果直接放在src上是能播放的

回复 喜欢技术的前端: 最新发现,是从nvue页面跳到vue播放页面才出现的这个问题,播不了

最新发现,是从nvue页面跳到vue播放页面才出现的这个问题,播不了

uni-app 中,nvue 页面和 vue 页面之间的跳转和组件使用可能会遇到一些兼容性问题,尤其是在涉及到原生组件(如 video 组件)时。你提到在 nvue 页面跳转到 vue 页面时无法播放融云视频,以下是一些可能的原因和解决方案:

1. 检查 video 组件的使用

  • 确保在 vue 页面中正确使用了 video 组件,并且视频源(src)是正确的。
  • 检查视频格式是否被支持,通常 video 组件支持 mp4webm 等常见格式。
<video :src="videoUrl" controls></video>
export default {
  data() {
    return {
      videoUrl: 'https://example.com/path/to/video.mp4'
    };
  }
};

2. 检查页面跳转方式

  • 确保从 nvue 页面跳转到 vue 页面时,页面跳转是成功的,并且 vue 页面已经正确加载。
  • 使用 uni.navigateTouni.redirectTo 进行页面跳转,并确保跳转路径正确。
uni.navigateTo({
  url: '/pages/vuePage/vuePage'
});

3. 检查融云视频的播放逻辑

  • 如果视频是通过融云 SDK 获取的,确保在 vue 页面中正确获取了视频的播放地址。
  • 检查融云 SDK 的初始化是否在 vue 页面中正确执行。
// 假设你已经初始化了融云 SDK
const videoUrl = RongCloud.getVideoUrl(videoId);
this.videoUrl = videoUrl;

4. 检查 nvuevue 页面的兼容性

  • nvue 页面和 vue 页面在某些情况下可能存在兼容性问题,尤其是在涉及到原生组件时。可以尝试在 vue 页面中使用 web-view 组件来播放视频,或者直接在 nvue 页面中播放视频。
<web-view :src="videoUrl"></web-view>

5. 调试和日志

  • vue 页面中添加调试信息,检查视频地址是否正确,以及 video 组件是否正常加载。
  • 使用 console.log 输出相关信息,帮助定位问题。
console.log('Video URL:', this.videoUrl);

6. 检查权限和网络

  • 确保应用有访问网络的权限,并且设备网络连接正常。
  • 如果视频是通过 HTTPS 访问的,确保服务器证书是有效的。

7. 使用 uni.createVideoContext

  • 如果直接使用 video 组件无法播放,可以尝试使用 uni.createVideoContext 来手动控制视频播放。
const videoContext = uni.createVideoContext('myVideo');
videoContext.play();
<video id="myVideo" :src="videoUrl" controls></video>
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!