uni-app video组件在nvue页面跳转到vue播放页面时无法播放融云视频
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上是能播放的
预期结果:
能播放
实际结果:
黑屏
真机可以播放
你怎么写的代码?我这里是播不了
回复 乔小猿:就这样
回复 喜欢技术的前端: 最新发现,上边视频链接定义一个参数赋值就播不了了,: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
组件支持mp4
、webm
等常见格式。
<video :src="videoUrl" controls></video>
export default {
data() {
return {
videoUrl: 'https://example.com/path/to/video.mp4'
};
}
};
2. 检查页面跳转方式
- 确保从
nvue
页面跳转到vue
页面时,页面跳转是成功的,并且vue
页面已经正确加载。 - 使用
uni.navigateTo
或uni.redirectTo
进行页面跳转,并确保跳转路径正确。
uni.navigateTo({
url: '/pages/vuePage/vuePage'
});
3. 检查融云视频的播放逻辑
- 如果视频是通过融云 SDK 获取的,确保在
vue
页面中正确获取了视频的播放地址。 - 检查融云 SDK 的初始化是否在
vue
页面中正确执行。
// 假设你已经初始化了融云 SDK
const videoUrl = RongCloud.getVideoUrl(videoId);
this.videoUrl = videoUrl;
4. 检查 nvue
和 vue
页面的兼容性
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>