Heim > Web-Frontend > uni-app > Was soll ich tun, wenn ich bei der Implementierung der Aufnahmefunktion in uniapp eine Fehlermeldung erhalte?

Was soll ich tun, wenn ich bei der Implementierung der Aufnahmefunktion in uniapp eine Fehlermeldung erhalte?

PHPz
Freigeben: 2023-04-20 15:48:41
Original
1298 Leute haben es durchsucht

Mit der Entwicklung der mobilen Internettechnologie ist die Entwicklung mobiler Anwendungen zu einer notwendigen Fähigkeit geworden. Die plattformübergreifende Entwicklung auf Basis des Uniapp-Frameworks optimiert die Arbeitseffizienz der Entwickler. Bei der Implementierung der Aufnahmefunktion in uniapp können jedoch einige Fehler auftreten. Schauen wir uns diese Probleme und ihre Lösungen an.

Problem 1: wx api ist nicht deklariert oder nicht im aktuellen Modul enthalten

Zunächst müssen wir klarstellen: Uniapp basiert auf dem Vue-Framework, sodass sein API-Teil dem Vue ähnelt API. Wenn Sie auf dieses Problem stoßen, liegt der Grund darin, dass wir es nach der Einführung der WX-API nicht deklariert haben.

Lösung:
Wir müssen die WX-API in Vue einführen und im Code deklarieren, bevor sie verwendet werden kann. Der Beispielcode lautet wie folgt:

import wx from 'uni-app/weixin.js';
export default{
   data(){
      return {
          recoderManager:null   // 声明参数
      }
   },
   //在mounted部分进行wx api的声明
   mounted(){
      this.recoderManager = wx.getRecorderManager()
   }
}
Nach dem Login kopieren

Frage 2: recorder.start ist keine Funktion

Dieses Problem ist offensichtlich, das heißt, wenn wir recorder.start() aufrufen, wird ein Fehler gemeldet. Der Grund dafür ist, dass wir den recorderManager nicht korrekt instanziiert haben.

Lösung:
Wir müssen die WX-API im montierten Teil instanziieren. Sehen Sie sich den folgenden Code an:

import wx from 'uni-app/weixin.js';
export default{
   data(){
      return {
          recoderManager:null   // 声明参数
      }
   },
   //在mounted部分进行wx api的实例化
   mounted(){
      this.recoderManager = wx.getRecorderManager()
   },
   methods:{
      //在该方法中可以调用 start()方法
      recoding(){
           this.recoderManager.start({   //注意参数
                 duration:60000,
                 format:'mp3'
           });
           //当录音结束后触发该函数
           this.recoderManager.onStop((res)=>{
               var voice = res.tempFilePath   //得到当前录音的文件路径
           })
      },
   }
}
Nach dem Login kopieren

Problem 3: recorder.start fehlgeschlagen: Audiomanager nicht erfolgreich gestartet

Dieses Problem kann auf iOS-Geräten auftreten. Der Grund dafür ist, dass der aktuelle Browser dies nicht unterstützt oder die Audioberechtigung deaktiviert ist. Die Lösung lautet wie folgt:

Lösung:
Wir müssen die Einstellungsseite aufrufen und prüfen, ob die aktuelle Anwendung Audioberechtigungen erhalten hat. Wenn die Audioberechtigung deaktiviert ist, müssen wir sie aktivieren. Darüber hinaus können wir versuchen, die Browserversion zu aktualisieren, um solche Probleme zu lösen.

Die oben genannten sind drei häufige Probleme und ihre Lösungen, wenn uniapp die Aufnahmefunktion implementiert. Wenn Sie die oben genannten Schritte befolgen, sollten Sie diese Probleme vermeiden können.

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn ich bei der Implementierung der Aufnahmefunktion in uniapp eine Fehlermeldung erhalte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage