Files
ZhHealth/components/im/imAUDIO.vue
2022-01-28 14:57:39 +08:00

81 lines
2.1 KiB
Vue

<template>
<view>
<view class="im--audio" :class="guest ? 'right': 'left'" @click="onPlayMsg">
<image v-if="!guest" class="audio-mp3" src="@/static/icon/audio_green.png" mode="widthFix"></image>
<text class="audio-text">"{{msg.time}}"</text>
<image v-if="guest" class="audio-mp3" src="@/static/icon/audio_white.png" mode="widthFix"></image>
</view>
</view>
</template>
<script>
export default {
name:"im",
props:{
msg : {
type : Object,
default: () => {
return {
src: "",
time: "20"
}
}
},
guest: {
type: Boolean,
default: true
}
},
methods:{
// 播放语音消息
onPlayMsg() {
let innerAudioContext = uni.createInnerAudioContext()
innerAudioContext.src = this.audioSrc
if (this.audioContextPaused) {
innerAudioContext.play()
this.audioContextPaused = false
return
}
innerAudioContext.stop()
innerAudioContext.onStop(resStop => {
this.audioContextPaused = true
})
}
}
}
</script>
<style scoped>
.im--audio{
flex-direction: row;
justify-content: space-between;
align-items: center;
height: 79rpx;
width: 170rpx;
padding: 0 20rpx;
box-sizing: border-box;
},
.im--audio.left{
border-radius: 0 20rpx 20rpx 20rpx;
background: white;
}
.im--audio.right{
border-radius: 20rpx 0 20rpx 20rpx;
background: #34CE98;
}
.audio-mp3{
width: 38rpx;
height: 38rpx;
}
.audio-text{
font-size: 30rpx;
}
.im--audio.left .audio-text{
color: #333;
}
.im--audio.right .audio-text{
color: white;
}
</style>