<template>
<div v-show="isShow" class="video-dialog" v-drag="drag">
<audio :src="audioFile" controls="controls" ref="audio" class="audio"></audio>
<div class="btn">
<div class="close-area" @click="close">
<i class="el-icon-close"></i>
</div>
<div class="drag-area" @mousedown="enableDrag" @mouseleave="disableDrag">
<i class="el-icon-rank"></i>
</div>
</div>
</div>
</template>
<script>
import {mapState} from 'vuex'
export default {
name: 'VideoCall',
data () {
return {
drag: false,
isShow: false,
audioFile: ''
}
},
computed: {
...mapState(['isAudio'])
},
watch: {
isAudio: {
handler (val) {
if (val) {
this.showDialog(val)
} else {
this.audioFile = ''
}
},
deep: true
}
},
methods: {
async showDialog (val) {
const v = await this.getVideoData(val)
if (v === true) {
this.isShow = true
} else {
this.audioFile = ''
}
},
getVideoData (val) {
return new Promise((resolve, reject) => {
this.axios({
method: 'get',
responseType: 'blob',
url: val
}).then((res) => {
this.audioFile = window.URL.createObjectURL(res.data)
resolve(true)
})
})
},
close () {
this.isShow = false
this.audioFile = ''
},
enableDrag () {
this.drag = true
},
disableDrag () {
this.drag = false
}
}
}
</script>
<style lang="scss" scoped>
.video-dialog {
position: fixed;
width: 400px;
height: 50px;
border-radius: 30px;
box-shadow: 0px 3px 5px 0px #adadad;
z-index: 2000;
background-color: #f0f2f3;
top: 78px;
right: 20px;
overflow: hidden;
display: flex;
align-items: center;
justify-content: flex-start;
.audio{
width: 300px;
height: 54px;
}
// .audio::-webkit-media-controls-panel {
// width: calc(100% + 100px);
// }
.btn{
width: 40px;
border-left: 1px dotted #1764ce;
font-size: 20px;
color: #1764ce;
line-height: 20px;
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center;
padding-left: 5px;
.close-area{
cursor: pointer;
}
.drag-area {
cursor: move;
}
}
}
</style>
录音调听
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 昨日查经,讲到不论断人,很有启发。生活中的论断与被论断比比皆是,又如何避得开?耶苏说他来1:不做审判 2:传讲福音...
- 一、实现效果 二、实现过程 recorder-js文档1 安装插件npm install recorder-js...
- 本次期中考试最高分98分,最低分32分。平均分75分,优秀学生23位,不及格有12人。听力部分第一大题听录音,选出...