| | |
| | | {{ item.name }}相机 |
| | | </div> |
| | | <div class="multiCol"> |
| | | <div @click="faceToCenter">云台回中</div> |
| | | <div @click="faceToDown">云台朝下</div> |
| | | <div @click="ptzResetMode(0)">云台回中</div> |
| | | <div @click="ptzResetMode(1)">云台朝下</div> |
| | | </div> |
| | | <el-select class="qualityChange" v-model="lineQuality" @change="qualityChange"> |
| | | <el-option v-for="item in qualityList" :key="item.id" :label="item.name" :value="item.id" /> |
| | |
| | | <div @click="recordFun">{{ isRecording ? '录像中...' : '录像' }}</div> |
| | | </div> |
| | | <div class="multiCol"> |
| | | <div>喊话</div> |
| | | <div>广播</div> |
| | | <div @click="ElMessage.warning('加急开发中...')">喊话</div> |
| | | <div @click="ElMessage.warning('加急开发中...')">广播</div> |
| | | </div> |
| | | |
| | | <div class="cameraZoom"> |
| | | <el-slider |
| | | v-model="cameraParams.zoom_factor" |
| | | vertical |
| | | :max="cameraParams.camera_type === 'ir' ? 20 : 50" |
| | | @input="sliderChange" |
| | | :min="cameraParams.camera_type === 'ir' ? 2 : 0" |
| | | :max="cameraParams.camera_type === 'ir' ? 200 : 200" |
| | | @change="sliderChange" |
| | | /> |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | <script setup> |
| | | import EventBus from '@/event-bus' |
| | | import { callPhotoAndVideoCmd, cameraParamsChangeApi } from '@/api/payload' |
| | | import { callPhotoAndVideoCmd, cameraParamsChangeApi, ptzResetModeApi } from '@/api/payload' |
| | | import { ElMessage } from 'element-plus' |
| | | import { throttle } from 'lodash' |
| | | |
| | |
| | | { name: '超清', id: 4 }, |
| | | ] |
| | | |
| | | function faceToCenter() {} |
| | | |
| | | function faceToDown() {} |
| | | function ptzResetMode(resetMode) { |
| | | ptzResetModeApi({ sn: dockSn.value, resetMode }) |
| | | } |
| | | |
| | | // 倍率调整 |
| | | function sliderChange(val) { |
| | |
| | | |
| | | // 修改相机参数 |
| | | function cameraParamsChange() { |
| | | const { camera_type, zoom_factor} = cameraParams.value |
| | | cameraParamsChangeApi({ |
| | | sn: dockSn.value, |
| | | ...cameraParams.value, |
| | | zoom_factor: camera_type === 'wide' ? undefined : zoom_factor, |
| | | }) |
| | | } |
| | | |
| | |
| | | cameraParams.value.zoom_factor = 5 |
| | | } |
| | | if (row.key === 'ir') { |
| | | cameraParams.value.zoom_factor = 0 |
| | | cameraParams.value.zoom_factor = 2 |
| | | } |
| | | cameraParamsChange() |
| | | } |
| | |
| | | const msg = isRecording.value ? '停止录像' : '开始录像' |
| | | const emitType = isRecording.value ? 'controlPanel-timeStop' : 'controlPanel-timeStart' |
| | | |
| | | callPhotoAndVideoCmd(droneSn.value, type).then(res => { |
| | | callPhotoAndVideoCmd(dockSn.value, type).then(res => { |
| | | ElMessage.success(msg) |
| | | EventBus.emit(emitType) |
| | | isRecording.value = !isRecording.value |
| | |
| | | // 拍照 |
| | | function takePictures() { |
| | | // photo拍照,video_start开始录像,video_stop结束录像 |
| | | callPhotoAndVideoCmd(droneSn.value, 'photo').then(res => { |
| | | callPhotoAndVideoCmd(dockSn.value, 'photo').then(res => { |
| | | ElMessage.success('拍照成功') |
| | | }) |
| | | } |