Ergebnis: Der Hauptteil besteht darin, die Codelogik zu implementieren, und die spezifische Seitenstruktur wird nicht einzeln eingeführt. Vue-Teil: cnpm installiere Recorderx --save oder npm installiere Recorderx --save Eingeführt in einer bestimmten Komponente <Skript> importiere Axios von „Axios“; importieren { Toast } von "vant"; importiere Recorderx, { ENCODE_TYPE } von "recorderx"; const rc = neuer Recorderx(); Standard exportieren { Daten(){ zurückkehren { Startzeit: null, Endzeit: null } }, Methoden:{ //Stimme aufnehmen recordingVoice() { // das.news_img = !das.news_img rc.start() .then(() => { this.starttime = neues Datum(); }) .catch(Fehler => { alert("Mikrofon konnte nicht abgerufen werden"); }); }, //Stimme asynchron senden sendVoice() { rc.pause(); this.endtime = neues Datum(); let wav = rc.getRecord({ encodeTo: ENCODE_TYPE.WAV, komprimierbar: wahr }); Lassen Sie voiceTime = Math.ceil((this.endtime - this.starttime) / 1000); const formData = new FormData(); formData.append("chatVoice", wav, Date.parse(neues Datum()) + ".wav"); formData.append("Sprachzeit", Sprachzeit); let-Header = { Überschriften: { "Inhaltstyp": "multipart/Formulardaten" } }; Achsen .post("/api/uploadChatVoice", Formulardaten, Header) .then(res => { //Konsole.log(res) wenn (res.data.status === 2) { rc.clear(); let chatVoiceMsg = res.data.chatVoiceMsg; } } }); }, //Audio abspielen playChatVoice(audio) { sei audioUrl = audio; wenn(audioUrl){ let audioExample = neues Audio(); audioExample.src = audioUrl; //Die Audioadresse, die Sie abspielen möchten audioExample.play(); }anders{ Toast('Sprachadresse wurde zerstört'); } }, } }; </Skript> Knotenteil: cnpm installiere Multiparty --save const express = erfordern('express'); const router = express.Router(); const multiparty = erfordern('multiparty'); const NET_URL = "http://127.0.0.1:3000/"; router.post('/uploadChatVoice', (req, res, next) => { let form = neues Multiparty.Form(); form.uploadDir = "chatVoiceUpload"; form.parse(req, (err, Felder, Dateien) => { console.log(Dateien, Felder) let chatVoiceUrl = NET_URL + files.chatVoice[0].path.replace(/\\/g, "/"); let chatVoiceTime = Felder.voiceTime[0] console.log(chatVoiceUrl) wenn (chatVoiceUrl) { res.json({ Status: 2, chatVoiceMsg: { chatVoiceTime, chatVoiceUrl, } }) } anders { res.json({ Status: 1, chatVoiceMsg: { chatVoiceTime: "", chatVoiceUrl: "" } }) } //console.log(Dateien) }) }) Definieren Sie in app.js den Sprachdateipfad app.use('/chatVoiceUpload', express.static('chatVoiceUpload')); Dies ist das Ende dieses Artikels über die Realisierung von Audioaufzeichnungs- und -wiedergabefunktionen durch Vue+node. Weitere relevante Inhalte zu Vue-Audioaufzeichnung und -wiedergabe finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Konfigurationsmethode für das Fenster der kostenlosen Installationsversion von MySQL 5.7.18
>>: Beispielcode zum Bereitstellen eines Spring-Boot-Projekts mit Docker
Der gemeinsam genutzte Speicher von Nginx ist ein...
Laden Sie das RPM-Installationspaket herunter Off...
Inhaltsverzeichnis 1. Erstellen Sie die Vue-Umgeb...
Vorwort Im Grunde verwenden Programmierer am Arbe...
Inhaltsverzeichnis Vorwort Schnittstelle Typ Anha...
Sie können die Trigger-Methode verwenden. In JavaS...
Inhaltsverzeichnis Die benutzerdefinierte CSS-Var...
Schreiben einer Docker-Datei Konfigurieren Sie di...
Eine kurze Einführung in protobuf Protobuf ist Go...
Grammatik: Hintergrundbild: Kegelschnitt-Farbverl...
Vorwort Der Ubuntu-Server des Unternehmens platzi...
Dies ist mein erster Blog. Ich bin seit zwei Jahr...
1: SVN installieren yum install -y Subversion 2. ...
Inhaltsverzeichnis Vorwort Schritt 1: Aufbau und ...
Dies ist mein erstes Mal, dass ich das Element-Fr...