Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk melaksanakan fungsi rakaman dan penyuntingan video dalam uniapp

Bagaimana untuk melaksanakan fungsi rakaman dan penyuntingan video dalam uniapp

WBOY
WBOYasal
2023-10-20 13:51:341853semak imbas

Bagaimana untuk melaksanakan fungsi rakaman dan penyuntingan video dalam uniapp

Uniapp (Apl Universal) ialah rangka kerja pembangunan berdasarkan Vue.js, yang boleh menggunakan sintaks Vue dan keupayaan pembangunan merentas platform pada masa yang sama. Rangka kerja boleh menyusun kod ke dalam halaman yang berbeza pada berbilang platform. Artikel ini akan memperkenalkan cara melaksanakan fungsi rakaman dan pengeditan video dalam Uniapp dan memberikan contoh kod khusus.

1. Pelaksanaan fungsi rakaman video

Untuk melaksanakan fungsi rakaman video, anda mesti memperkenalkan pemalam uni-mp-video terlebih dahulu. Pemalam ini ialah komponen main balik dan rakaman video pada platform pembangunan Uniapp, menyediakan fungsi yang kaya.

  1. Cari fail package.json dalam direktori akar projek dan tambah kod berikut dalam bahagian dependencies:

"dependencies": {

...
"uni-mp-video": "^1.0.0"

}

  1. Jalankan arahan pemasangan npm untuk memasang pemalam.
  2. Gunakan pemalam ini dalam fail vue halaman yang perlu menggunakan fungsi rakaman video:

<mp-video :src="videoSrc" :autoplay="true" controls></mp-video>
<button @tap="startRecord">开始录制</button>
<button @tap="endRecord">结束录制</button>



import mpVideo daripada 'uni-mp-video'
eksport lalai {

data() {
  return {
    videoSrc: ''
  }
},
components: {
  mpVideo
},
methods: {
  async startRecord() {
    try {
      const { tempVideoPath } = await uni.getRecorderManager().start({
        duration: 60, // 录制时长,单位为秒
        format: 'mp4' // 录制格式
      })
      this.videoSrc = tempVideoPath
    } catch (err) {
      console.log(err)
    }
  },
  endRecord() {
    uni.getRecorderManager().stop()
  }
}

}

Dalam coretan kod di atas, kami memperkenalkan pemalam dan merujuk komponen pada muka surat. Dalam kaedah, kami mentakrifkan kaedah startRecord() untuk memulakan fungsi rakaman, dan mendapatkan laluan video yang dirakam selepas rakaman selesai, dan mengikatnya pada atribut videoSrc supaya ia boleh dipaparkan pada halaman. Kaedah endRecord() digunakan untuk menamatkan fungsi rakaman.

2. Pelaksanaan fungsi penyuntingan video

Untuk melaksanakan fungsi penyuntingan video, anda boleh menggunakan pemalam uni-image-editor. Pemalam ini menyediakan set kaya dengan fungsi penyuntingan imej dan video berdasarkan uniapp, termasuk pemangkasan, zum, berputar, penapis dan fungsi lain.

  1. Cari fail package.json dalam direktori akar projek dan tambah kod berikut dalam bahagian dependencies:

"dependencies": {

...
"uni-image-editor": "^1.0.0"

}

  1. Jalankan arahan pemasangan npm untuk memasang pemalam.
  2. Gunakan pemalam ini dalam fail vue halaman yang perlu menggunakan fungsi penyuntingan video:

<mp-video :src="videoSrc" :autoplay="true" controls></mp-video>
<button @tap="editVideo">剪辑视频</button>



import mpVideo daripada 'uni-mp-video'
eksport lalai {

data() {
  return {
    videoSrc: ''
  }
},
components: {
  mpVideo
},
methods: {
  editVideo() {
    uni.chooseVideo({
      success: async (res) => {
        const { tempFilePath } = res
        try {
          const { tempFilePath } = await uni.createSelectorQuery().select('#mp-video').node().context.getImageData()
          uni.navigateTo({
            url: `/pages/videoEdit/videoEdit?videoSrc=${tempFilePath}`
          })
        } catch (err) {
          console.log(err)
        }
      }
    })
  }
}

}

Dalam coretan kod di atas, kami merujuk komponen mp-video pada halaman dan menentukan kaedah editVideo(). Kaedah ini menggunakan api uni.chooseVideo() untuk memilih fail video dan menghantar laluan sementara video ke halaman videoEdit untuk operasi pengeditan.

Dalam halaman Edit video, anda boleh menggunakan fungsi penyuntingan dalam pemalam penyunting imej-uni untuk memangkas, memutar dan operasi lain pada video. Untuk penggunaan khusus, sila rujuk dokumentasi berkaitan pemalam uni-image-editor.

Di atas adalah contoh kod khusus untuk melaksanakan fungsi rakaman dan penyuntingan video dalam Uniapp. Dengan memperkenalkan pemalam yang berkaitan dan menggunakan API yang sepadan, kami boleh melaksanakan fungsi rakaman dan pengeditan video dengan mudah dalam Uniapp. Semoga artikel ini bermanfaat kepada anda.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi rakaman dan penyuntingan video dalam uniapp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn