検索
ホームページウェブフロントエンドフロントエンドQ&AVueを使ってAPPレコーディング機能とアップロード機能を実装する方法

近年、モバイルアプリの普及に伴い、音声の録音やアップロードの需要が日に日に高まっています。 Vue フレームワークでは、HTML5 の新機能と組み合わせることで、APP レコーディング機能を簡単に実装してアップロードできます。この記事では、Vue を使用して APP 録音機能を実装し、アップロードする方法を共有します。これにより、音声録音とアップロード機能を簡単に実装できます。

1. 前提条件

まず、記録機能は HTML5 の新機能を使用する必要があることを明確にする必要があるため、記録機能を実装する前に、ブラウザ互換性セックス。

2019 年現在、ほとんどのモバイル ブラウザーはすでに新しい HTML5 機能をサポートしていますが、互換性のないブラウザーもまだいくつかあります。実際のアプリケーションでは、Modernizr ライブラリを使用して、ブラウザが新しい HTML5 機能をサポートしているかどうかを確認できます。

2. 実装手順

  1. 構成環境

Vue をインストールする前に、Node.js と NPM をインストールする必要があります。インストールが完了したら、コマンド ライン ツールを開き、次のコマンドを実行して Vue-cli をインストールします。

npm install -g vue-cli

インストールが完了したら、次のコマンドを使用して新しい Vue プロジェクトを作成できます。

vue init webpack my-project

ここで、「my-project」はユーザーが定義できるプロジェクト名です。次に、コマンドラインに表示される手順に従って構成します。

  1. 依存関係のインストール

Vue プロジェクトを作成した後、vue-audio-recorder など、必要な依存関係をいくつかインストールする必要があります。アクシオス。まず、次のコマンドを使用して vue-audio-recorder をインストールする必要があります:

npm install vue-audio-recorder --save

次に、次のコマンドを使用して axios をインストールします:

npm install axios --save

上記の 2 つ この依存関係は、記録機能とアップロード機能を実装するために必須です。

  1. コードの記述

環境構成と依存関係のインストールが完了したら、記録機能を実装するコードを記述する必要があります。まず、次のコードを Vue コンポーネントにインポートします。

import AudioRecorder from 'vue-audio-recorder'
import axios from 'axios'

次に、Vue コンポーネントに次の状態を定義します。

data() {
  return {
    audioSrc: '',
    audioName: ''
  };
}

このうち、audioSrc はリンク アドレスを表します。 audioName は録音ファイルの名前です。

次に、Vue コンポーネントに次のコードを記述して録音を実装します。

mounted() {
  this.audioRecorder = new AudioRecorder({
    onComplete: (blob)=>{
      // 上传录音文件
      this.uploadAudio(blob);
    },
  });
},
methods: {
  startRecord() {
    this.audioRecorder.start();
  },
  stopRecord() {
    return this.audioRecorder.stop()
        .then((blob) => {
          // 保存录音blob对象到变量中
          this.audioBlob = blob;
          // 设置录音链接地址
          this.audioSrc = URL.createObjectURL(blob)
        })
        .catch(() => {
          console.log('Media recording failed');
        });
  },
  uploadAudio(audioFile) {
    var formData = new FormData();
    formData.append("audio", audioFile, this.audioName);

    axios.post('/api/upload', formData, {
      headers: {
        'Content-Type': 'multipart/form-data'
      }
    }).then(response => {
      console.log(response.data);
      if (response.status == 200) {
        console.log("上传成功");
      } else {
        console.log("上传失败");
      }
    }).catch(() => {
      console.log("网络异常");
    })
  }
}

このうち、audioRecorder が録音オブジェクトで、onCompleteは録音が完了したことを示します。コールバック関数 startRecord は録音開始関数、stopRecord は録音停止関数、uploadAudio 関数は次の目的で使用されます。録音ファイルをアップロードします。

これまでで、録音機能の実装が完了しました。ユーザーは、Vue テンプレートに記録ボタンを追加し、ボタンの @click イベントで startRecord 関数を呼び出して記録を開始し、開始時に stopRecord 関数を呼び出すことができます。録音が終了します。録音を終了してアップロードします。

3. まとめ

上記の手順により、Vue の APP レコーディング機能を簡単に実装し、アップロードすることができます。 HTML5 の新機能と Vue フレームワークを使用すると、このタスクを簡単に実行できます。実装の鍵は、vue-audio-recorder ライブラリと axios 依存関係を使用して、プロセス全体をシンプルで楽しいものにすることです。

以上がVueを使ってAPPレコーディング機能とアップロード機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

raceslimitationsinclude:1)asteeplearningcurveduetoitsvastecosystem、2)seochallengeswithsclient-siderEndering、3)潜在的なパフォーマンスのinlargeapplications、4)complenstatemanagementasappsgrow、and5)suneedtokeepupwithovolution

Reactの学習曲線:新しい開発者にとっての課題Reactの学習曲線:新しい開発者にとっての課題May 02, 2025 am 12:24 AM

ReactisChallengingを使用して、SteepLearNdParadigMshiftOconpontenAchitecture.1)startisofficialdocumentation forasolidfoundation.2)relondingjsxandjavascriptwithinit.3)LearntousefunctionalcompotontiTateを理解してください

反応の動的リストの安定したユニークなキーを生成する反応の動的リストの安定したユニークなキーを生成するMay 02, 2025 am 12:22 AM

coreChallengeingEneratingは、duniqueys consinistinsidentifientiversre-renderseforeffiencedomupdates.1)aseenaturalKeysisisisisisisisedisederiableiableiaibuniqueandStable.2)denatekeysBaseTheBasedOnMultipreattributive.2)を無効にすることを非難することを解決します

JavaScriptの疲労:Reactとそのツールで最新の状態を維持しますJavaScriptの疲労:Reactとそのツールで最新の状態を維持しますMay 02, 2025 am 12:19 AM

javascriptfatigueinReactismainageable with rikeislikedivedingingindininginginformationscors.1)whatyouneedwhenyouneedit、focusingonprojectrelevance.2)

UseState()フックを使用するコンポーネントをテストしますUseState()フックを使用するコンポーネントをテストしますMay 02, 2025 am 12:13 AM

ESTESTROACTCOMPONENTSINGTHESESTATEHOOK、USEJESTANDREACTINTINGLIBRARYTOSIMULATE INTERACTIONSIONDANDVERIFYISTAMESISINTHEUI.1)RENDERTHECONCENTANDCHECKECHINITATA.2)SimulateUserIractionSionsionsionsionsionsionslikeClickSorformSubmissions.3)

Reactのキー:パフォーマンスの最適化技術への深い飛び込みReactのキー:パフォーマンスの最適化技術への深い飛び込みMay 01, 2025 am 12:25 AM

keysinReactarecialforptimizingperformancebyididingineffictientListupdates.1)usekeystoidentifideidifyandtracklistelements.2)ArrayIndi​​cesassyStopreventPerformanceSues.3)suoseStableidedifierslikeItem.idtomaincomentaindtateandiproveperift

Reactのキーとは何ですか?Reactのキーとは何ですか?May 01, 2025 am 12:25 AM

ReactKeySareUniqueIdentifiersiersiderSuredStrovereconconiniationEfficiency.1)theyctrackChangesinListitems、2)sultanduniqueidentifiersiirsiTeemidssisssississmendを使用して、3)ArrayIndi​​cesAssayStopReventisSuseSUSEORINGを回避します

反応におけるユニークな鍵の重要性:一般的な落とし穴を避ける反応におけるユニークな鍵の重要性:一般的な落とし穴を避けるMay 01, 2025 am 12:19 AM

sinqueysarecrucialinReactforoptimizing andMaintainingcomponentStateIntegrity.1)useanaturaluniqueidentifierfromyourdataifaibable.2)ifnonaturalidentifierexists、発電済みのKeyusingingingingalibrarylikuuid.3)

See all articles

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール