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
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis Variablenbereich Das Konzept d...
Inhaltsverzeichnis Problembeschreibung 1. Basislö...
Heute habe ich eine neu erworbene Alibaba Cloud E...
Inhaltsverzeichnis 1. Einleitung 2. Lassen Sie un...
Natürlich fließen auch einige persönliche Erfahrun...
ant-design-vue passt die Verwendung von Ali Iconf...
Der Animationsteil von CSS wird von JS blockiert,...
Normalerweise färben wir als Webmaster während de...
Viele Menschen leben heute im Internet und die Suc...
Inhaltsverzeichnis 1. Laden Sie den Tomcat-Code h...
dig - Dienstprogramm zur DNS-Suche Wenn beim Zugr...
Die heute zu implementierende Funktion ist die fo...
Unix/Linux-Dienste systemd-Dienste Betriebsablauf...
In diesem Artikel werden die Erstellung von MySQL...