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 Artikel werden die einzelnen Schritte z...
Wenn Sie MySQL installieren, wird Ihnen ein erste...
Dieser Artikel veranschaulicht anhand von Beispie...
Code kopieren Der Code lautet wie folgt: <Körp...
Führen Sie den Befehl aus: docker run --name cent...
1. Nachfrage Wir haben drei Tabellen. Wir müssen ...
1. Schritte zur Installation des RPM-Pakets: 1. S...
Der automatische Bildlaufeffekt der Seite kann du...
einführen HTML stellt die kontextuelle Struktur u...
Schritt 1: Umgebungsvariablen konfigurieren (mein...
1. Zwei Möglichkeiten zum Definieren von Reaktion...
Wenn wir den MySQL-Dienst verwenden, beträgt die ...
In diesem Artikel wird der spezifische Code des V...
Inhaltsverzeichnis 1. Docker installieren 2. Zieh...