Merge branch 'dev/test' into dev/abl功能完善

# Conflicts:
#	web/src/views/cloudRecord/detail.vue
This commit is contained in:
lin 2025-09-23 16:18:46 +08:00
commit e7d26b34b3
4 changed files with 90 additions and 78 deletions

File diff suppressed because one or more lines are too long

View File

@ -171,7 +171,32 @@ declare namespace Jessibuca {
* https://github.com/langhuihui/jessibuca/issues/152 解决方案 * https://github.com/langhuihui/jessibuca/issues/152 解决方案
* WebGL图像预处理默认每次取4字节的数据540x960分辨率下的UV分量宽度是540/2=2704绿 * WebGL图像预处理默认每次取4字节的数据540x960分辨率下的UV分量宽度是540/2=2704绿
*/ */
openWebglAlignment?: boolean openWebglAlignment?: boolean,
/**
* webcodecs硬解码是否通过video标签渲染
*/
wcsUseVideoRender?: boolean,
/**
*
*/
controlAutoHide?: boolean,
/**
*
*/
recordType?: 'webm' | 'mp4',
/**
* 使web全屏(90)
*/
useWebFullScreen?: boolean,
/**
* 使
*/
autoUseSystemFullScreen?: boolean,
} }
} }
@ -293,10 +318,16 @@ declare class Jessibuca {
}).catch((e)=>{ }).catch((e)=>{
console.log('play error',e) console.log('play error',e)
}) })
// // 添加请求头
jessibuca.play() jessibuca.play('url',{headers:{'Authorization':'test111'}}).then(()=>{
console.log('play success')
}).catch((e)=>{
console.log('play error',e)
})
*/ */
play(url?: string): Promise<void>; play(url?: string, options?: {
headers: Object
}): Promise<void>;
/** /**
* *
@ -427,6 +458,21 @@ declare class Jessibuca {
*/ */
isRecording(): boolean; isRecording(): boolean;
/**
* /
* @param isShow
*
* @example
* jessibuca.toggleControlBar(true) // 显示
* jessibuca.toggleControlBar(false) // 隐藏
* jessibuca.toggleControlBar() // 切换 隐藏/显示
*/
toggleControlBar(isShow:boolean): void;
/**
*
*/
getControlBarShow(): boolean;
/** /**
* jessibuca * jessibuca

File diff suppressed because one or more lines are too long

View File

@ -7,11 +7,12 @@
title="视频播放" title="视频播放"
top="0" top="0"
append-to-body append-to-body
width="40vw"
:close-on-click-modal="false" :close-on-click-modal="false"
:visible.sync="showVideoDialog" :visible.sync="showVideoDialog"
@close="close()" @close="close()"
> >
<div style="width: 100%; height: 100%"> <div style="width: 100%; ">
<el-tabs <el-tabs
v-if="Object.keys(this.player).length > 1" v-if="Object.keys(this.player).length > 1"
v-model="activePlayer" v-model="activePlayer"
@ -20,6 +21,7 @@
@tab-click="changePlayer" @tab-click="changePlayer"
> >
<el-tab-pane label="Jessibuca" name="jessibuca"> <el-tab-pane label="Jessibuca" name="jessibuca">
<div style="height: 22.5vw">
<jessibucaPlayer <jessibucaPlayer
v-if="activePlayer === 'jessibuca'" v-if="activePlayer === 'jessibuca'"
ref="jessibuca" ref="jessibuca"
@ -32,6 +34,8 @@
autoplay autoplay
live live
/> />
</div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="WebRTC" name="webRTC"> <el-tab-pane label="WebRTC" name="webRTC">
<rtc-player <rtc-player
@ -64,44 +68,6 @@
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<jessibucaPlayer
v-if="Object.keys(this.player).length == 1 && this.player.jessibuca"
ref="jessibuca"
:visible.sync="showVideoDialog"
:video-url="videoUrl"
:error="videoError"
:message="videoError"
:has-audio="hasAudio"
fluent
autoplay
live
/>
<rtc-player
v-if="Object.keys(this.player).length == 1 && this.player.webRTC"
ref="jessibuca"
:visible.sync="showVideoDialog"
:video-url="videoUrl"
:error="videoError"
:message="videoError"
height="100px"
:has-audio="hasAudio"
fluent
autoplay
live
/>
<h265web
v-if="Object.keys(this.player).length == 1 && this.player.h265web"
ref="jessibuca"
:visible.sync="showVideoDialog"
:video-url="videoUrl"
:error="videoError"
:message="videoError"
height="100px"
:has-audio="hasAudio"
fluent
autoplay
live
/>
</div> </div>
<div id="shared" style="text-align: right; margin-top: 1rem;"> <div id="shared" style="text-align: right; margin-top: 1rem;">