get-video-info.uvue 1.9 KB
Newer Older
DCloud-yinjiacheng's avatar
DCloud-yinjiacheng 已提交
1 2 3 4 5 6 7 8 9
<template>
  <!-- #ifdef APP -->
  <scroll-view style="flex:1">
  <!-- #endif -->
    <page-head :title="title"></page-head>
    <view class="uni-padding-wrap">
      <view class="uni-title">
        <text class="uni-subtitle-text">获取本地绝对路径视频信息</text>
      </view>
DCloud-yinjiacheng's avatar
DCloud-yinjiacheng 已提交
10
      <video class="video" :src="absoluteVideoPath" :controls="true"></video>
DCloud-yinjiacheng's avatar
DCloud-yinjiacheng 已提交
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
      <text class="margin-top-10">{{absoluteVideoInfo}}</text>
      <view class="uni-btn-v">
        <button type="primary" @click="chooseVideo">拍摄视频或从相册中选择视频</button>
      </view>
    </view>
  <!-- #ifdef APP -->
  </scroll-view>
  <!-- #endif -->
</template>

<script>
  export default {
    data() {
      return {
        title: "getVideoInfo",
        absoluteVideoPath: "",
        absoluteVideoInfo: "",
      }
    },
    methods: {
      chooseVideo() {
        uni.chooseVideo({
          compressed: false,
DCloud-yinjiacheng's avatar
DCloud-yinjiacheng 已提交
34 35
          success: (res) => {
            this.absoluteVideoPath = res.tempFilePath;
DCloud-yinjiacheng's avatar
DCloud-yinjiacheng 已提交
36
            uni.getVideoInfo({
DCloud-yinjiacheng's avatar
DCloud-yinjiacheng 已提交
37 38 39
              src: res.tempFilePath,
              success: (_res) => {
                console.log("getVideoInfo success", JSON.stringify(res));
DCloud-yinjiacheng's avatar
DCloud-yinjiacheng 已提交
40
                this.absoluteVideoInfo = `视频画面方向: ${_res.orientation}\n视频格式: ${_res.type}\n视频长度: ${_res.duration}s\n视频大小: ${_res.size}KB\n视频宽度: ${_res.width}\n视频高度: ${_res.height}\n视频帧率: ${_res.fps}fps\n视频码率: ${_res.bitrate}kbps`;
DCloud-yinjiacheng's avatar
DCloud-yinjiacheng 已提交
41 42 43 44 45 46 47
              },
              fail: (err) => {
                uni.showModal({
                  title: "获取视频信息失败",
                  content: JSON.stringify(err),
                  showCancel: false
                });
DCloud-yinjiacheng's avatar
DCloud-yinjiacheng 已提交
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
              }
            });
          }
        });
      }
    }
  }
</script>

<style>
  .video {
    align-self: center;
  }

  .margin-top-10 {
    margin-top: 10px;
  }
</style>