ホームページ ウェブフロントエンド uni-app uniappでカメラを起動してビデオを撮影する方法

uniappでカメラを起動してビデオを撮影する方法

May 22, 2023 am 10:35 AM

モバイル インターネットの普及と 5G 時代の到来に伴い、人々が情報を共有し広める手段としてビデオがますます好まれるようになりました。動画撮影機能を含むAPPを開発する場合、動画撮影やアップロードなどの機能を実現するには携帯電話のカメラを呼び出す必要があります。この記事では、uniappでカメラを起動して動画を撮影する方法を紹介します。

1. uniapp

uniapp は、Vue.js フレームワークに基づくクロスプラットフォーム アプリケーション開発フレームワークです。複数のプラットフォーム上で高性能、効率的、スケーラブルなモバイル アプリケーションを迅速に構築できます。 uniapp は統合されたテクノロジー スタックを提供するため、開発者はコードを 1 回作成するだけで、iOS、Android、WeChat アプレットなどの複数のプラットフォームに公開できます。

2. カメラの電源を上げてビデオを撮影する

カメラの電源を上げてビデオを撮影するには、uniapp が提供する uni.chooseVideo() メソッドを使用する必要があります。具体的な手順は次のとおりです。

  1. pages.json にページを追加し、ビデオ フォルダーの下に対応するパスとページ ファイル
{
  "pages": [
    {
      "path": "pages/video/index",
      "style": {
        "navigationBarTitleText": "拍摄视频"
      }
    }
  ]
}
ログイン後にコピー
  1. を設定します。ビデオ撮影機能を実装するための新しいindex.vueファイル
<template>
  <view class="container">
    <button type="primary" @click="chooseVideo">拍摄视频</button>
  </view>
</template>

<script>
export default {
  methods: {
    chooseVideo() {
      uni.chooseVideo({
        sourceType: ["camera"],
        compressed: true,
        maxDuration: 10,
        camera: "back",
        success: res => {
          console.log(res.tempFilePath);
          //TODO: 上传视频到服务器
        },
        fail: e => {
          console.log(e);
        }
      });
    }
  }
};
</script>

<style scoped>
.container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}
</style>
ログイン後にコピー

ページで、ボタンを使用してchooseVideoメソッドをトリガーします。 chooseVideo メソッドでは、uni.chooseVideo() メソッドを呼び出してカメラをアクティブにします。

uni.chooseVideo({
  sourceType: ["camera"], // 调起相机拍摄
  compressed: true, // 开启视频压缩
  maxDuration: 10, // 设置最大拍摄时间为10秒
  camera: "back", // 相机方向为后置摄像头
  success: res => {
    console.log(res.tempFilePath); // 输出视频文件地址
    //TODO: 上传视频到服务器
  },
  fail: e => {
    console.log(e);
  }
});
ログイン後にコピー

ビデオを選択するときに、ビデオ ソース、ビデオを圧縮するかどうか、最大撮影時間、カメラの方向などのオプションを設定できることがわかります。このうち、maxDurationオプションの単位は秒です。ビデオが正常に選択されると、ビデオ ファイルのアドレスを含む res オブジェクトが返され、サーバーにアップロードできます。

3. ビデオをサーバーにアップロードします

ビデオを選択し、ビデオ ファイル アドレスを取得したら、サーバーにアップロードする必要があります。 uniapp では、uni.uploadFile() メソッドを使用してビデオのアップロードを実装できます。

具体的な手順は次のとおりです。

  1. サーバー側で、ビデオ ファイルを受信するためのインターフェイスを作成する必要があります。
  2. フロントエンドでは、chooseVideo メソッドを変更して、正常に選択されたビデオのファイル アドレスをサーバーにアップロードする必要があります。
uni.chooseVideo({
  sourceType: ["camera"],
  compressed: true,
  maxDuration: 10,
  camera: "back",
  success: res => {
    //将选择的视频文件上传到服务器
    uni.uploadFile({
      url: "http://127.0.0.1:3000/api/upload",
      filePath: res.tempFilePath,
      name: "file",
      success: uploadRes => {
        console.log(uploadRes);
        //TODO: 处理上传成功后的逻辑
      },
      fail: e => {
        console.log(e);
      }
    });
  },
  fail: e => {
    console.log(e);
  }
});
ログイン後にコピー

uploadFileメソッドでは、アップロードサーバーのアドレス、アップロードするファイルのパス、アップロード時のファイル名などを指定する必要があります。アップロードが成功すると、アップロード結果を含むuploadResオブジェクトが返されるので、その結果を基にアップロード成功後のロジックを処理します。

4. 概要

uni.chooseVideo() メソッドを使用すると、ビデオを撮影してサーバーにアップロードするようにカメラを簡単に設定できます。このようにして、ビデオ撮影機能を備えたアプリケーションを開発できます。同時に、uniapp は、クロスプラットフォーム開発でさまざまな機能を迅速に実装するのに役立つ一連の同様の API を提供します。

以上がuniappでカメラを起動してビデオを撮影する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Uni-APPでプレ前セッサー(SASS、LESS)を使用するにはどうすればよいですか? Uni-APPでプレ前セッサー(SASS、LESS)を使用するにはどうすればよいですか? Mar 18, 2025 pm 12:20 PM

記事では、UNI-APPでSASSおよびPREPROCESSORSを使用して、セットアップ、利点、および二重使用法を詳細に使用することについて説明します。主な焦点は構成と利点にあります。[159文字]

Uni-AppのアニメーションAPIを使用するにはどうすればよいですか? Uni-AppのアニメーションAPIを使用するにはどうすればよいですか? Mar 18, 2025 pm 12:21 PM

この記事では、Uni-AppのアニメーションAPIの使用方法、アニメーション、キー関数、およびアニメーションのタイミングを結合および制御する方法を作成および適用する手順を詳細に説明します。

UNIAPPアプリケーションで実行できるさまざまなタイプのテストは何ですか? UNIAPPアプリケーションで実行できるさまざまなタイプのテストは何ですか? Mar 27, 2025 pm 04:59 PM

この記事では、ユニット、統合、機能、UI/UX、パフォーマンス、クロスプラットフォーム、セキュリティテストなど、UNIAPPアプリケーションのさまざまなテストタイプについて説明します。また、クロスプラットフォームの互換性を確保し、JESのようなツールを推奨しています

UNIAPP開発に利用できるデバッグツールは何ですか? UNIAPP開発に利用できるデバッグツールは何ですか? Mar 27, 2025 pm 05:05 PM

この記事では、Hbuilderx、Wechat開発者ツール、Chrome Devtoolsなどのツールに焦点を当てたUniapp開発のためのデバッグツールとベストプラクティスについて説明します。

uni-appのストレージAPI(uni.setstorage、uni.getStorage)を使用するにはどうすればよいですか? uni-appのストレージAPI(uni.setstorage、uni.getStorage)を使用するにはどうすればよいですか? Mar 18, 2025 pm 12:22 PM

この記事では、ローカルデータ管理のためにUni-AppのストレージAPI(uni.setstorage、uni.getStorage)を使用する方法について説明し、ベストプラクティス、トラブルシューティング、および効果的な使用のための制限と考慮事項について説明します。

Uniappアプリケーションパッケージのサイズをどのように削減できますか? Uniappアプリケーションパッケージのサイズをどのように削減できますか? Mar 27, 2025 pm 04:45 PM

この記事では、コードの最適化、リソース管理、コード分割や怠zyなロードなどの手法に焦点を当てたUniappパッケージサイズを削減する戦略について説明します。

デバイス機能(カメラ、ジオロケーションなど)にアクセスするためにUni-AppのAPIを使用するにはどうすればよいですか? デバイス機能(カメラ、ジオロケーションなど)にアクセスするためにUni-AppのAPIを使用するにはどうすればよいですか? Mar 18, 2025 pm 12:06 PM

この記事では、UNI-APPのAPIを使用して、許可設定やエラー処理など、カメラやジオロケーションなどのデバイス機能にアクセスします。

UNI-APPでユーザー入力を検証するにはどうすればよいですか? UNI-APPでユーザー入力を検証するにはどうすればよいですか? Mar 18, 2025 pm 12:17 PM

この記事では、JavaScriptとデータバインディングを使用してUNI-APPのユーザー入力の検証を説明し、データの整合性のためのクライアントとサーバー側の両方の検証を強調します。 uni-validateのようなプラグインは、フォーム検証に推奨されます。

See all articles