panlinlin
2021-01-05 34135cce5d59f6ad7653737dd035bb1d441e185f
web_src/src/components/gb28181/devicePlayer.vue
@@ -1,6 +1,6 @@
<template>
<div id="devicePlayer" v-loading="isLoging">
    <el-dialog title="视频播放" top="0" :close-on-click-modal="false" :visible.sync="showVideoDialog" :destroy-on-close="true" @close="close()">
        <!-- <LivePlayer v-if="showVideoDialog" ref="videoPlayer" :videoUrl="videoUrl" :error="videoError" :message="videoError" :hasaudio="hasaudio" fluent autoplay live></LivePlayer> -->
        <player ref="videoPlayer" :visible.sync="showVideoDialog" :videoUrl="videoUrl" :error="videoError" :message="videoError" :hasaudio="hasaudio" fluent autoplay live></player>
@@ -121,7 +121,7 @@
                                <p>采样率: {{item.sample_rate}}</p>
                            </div>
                        </div>
                    </div>
                </el-tab-pane>
@@ -158,7 +158,6 @@
                searchHistoryResult: [] //媒体流历史记录搜索结果
            },
            showVideoDialog: false,
            ssrc: '',
            streamId: '',
            convertKey: '',
            deviceId: '',
@@ -210,7 +209,6 @@
            this.tabActiveName = tab;
            this.channelId = channelId;
            this.deviceId = deviceId;
            this.ssrc = "";
            this.streamId = "";
            this.videoUrl = ""
            if (!!this.$refs.videoPlayer) {
@@ -234,11 +232,10 @@
            console.log(val)
        },
        play: function (streamInfo, hasAudio) {
            this.hasaudio = hasAudio;
            this.isLoging = false;
            this.videoUrl = streamInfo.ws_flv;
            this.ssrc = streamInfo.ssrc;
            this.streamId = streamInfo.streamId;
            this.playFromStreamInfo(false, streamInfo)
        },
@@ -248,7 +245,7 @@
            this.$refs.videoPlayer.pause()
            that.$axios({
                method: 'post',
                url: '/api/play/' + that.ssrc + '/convert'
                url: '/api/play/' + that.streamId + '/convert'
                }).then(function (res) {
                    if (res.data.code == 0) {
                        that.convertKey = res.data.key;
@@ -296,7 +293,7 @@
              }).catch(function (e) {});
            that.coverPlaying = false;
            that.convertKey = "";
            if (callback )callback();
            // if (callback )callback();
        },
        playFromStreamInfo: function (realHasAudio, streamInfo) {
@@ -306,7 +303,7 @@
        },
        close: function () {
            console.log('关闭视频');
            if (!this.$refs.videoPlayer){
            if (!!this.$refs.videoPlayer){
              this.$refs.videoPlayer.pause();
            }
            this.videoUrl = '';
@@ -317,7 +314,7 @@
            }
            this.convertKey = ''
        },
        copySharedInfo: function (data) {
            console.log('复制内容:' + data);
            this.coverPlaying = false;
@@ -368,9 +365,9 @@
        },
        playRecord: function (row) {
            let that = this;
            if (that.ssrc != "") {
            if (that.streamId != "") {
                that.stopPlayRecord(function () {
                    that.ssrc = "",
                    that.streamId = "",
                        that.playRecord(row);
                })
            } else {
@@ -380,7 +377,7 @@
                        row.endTime
                }).then(function (res) {
                    var streamInfo = res.data;
                    that.ssrc = streamInfo.ssrc;
                    that.streamId = streamInfo.streamId;
                    that.videoUrl = streamInfo.ws_flv;
                });
            }
@@ -390,7 +387,7 @@
            this.videoUrl = '';
            this.$axios({
                method: 'get',
                url: '/api/playback/' + this.ssrc + '/stop'
                url: '/api/playback/' + this.streamId + '/stop'
            }).then(function (res) {
                if (callback) callback()
            });