Comment créer une barre de progression audio dans Uniapp
Avant de commencer, vous devez comprendre les deux composants utilisés dans le développement d'Uniapp : le composant audio et le composant de sélection coulissante. Ensuite, nous pouvons nous référer aux étapes suivantes pour implémenter la conception de la barre de progression audio.
- Ajouter le composant audio à la page
Utilisez la balise audio dans le modèle de la page pour ajouter le composant audio, et définissez src au chemin du fichier audio.
- Ajouter un composant de curseur de barre de progression
Ajouter un composant de curseur et définir la valeur du modèle V liée à l'heure de lecture actuelle pour contrôler la position de la barre de progression.
- Définir le style de la barre de progression audio
Utilisez les styles CSS pour définir le style du curseur, y compris la couleur de la barre de progression, le style du curseur de la barre de progression, Valeurs maximales et minimales de la barre de progression, etc.
- Réaliser la mise à jour de la barre de progression audio
Utilisez la fonction setInterval dans uniapp pour mettre à jour la position de la barre de progression en fonction de l'actuelle temps de lecture et temps de lecture total pour calculer la position actuelle de la barre de progression.
- Implémenter la fonction de déplacement de la barre de progression
Lorsque l'utilisateur fait glisser la barre de progression, vous pouvez utiliser l'événement @change du curseur pour obtenir la fonction de glissement actuelle, déplacez la valeur et utilisez la méthode de recherche du composant audio pour passer à la position de lecture correspondante.
Le code final est le suivant :
<template> <view> <audio :src="audioSrc" @timeupdate="updateTime"></audio> <slider v-model="currentTime" :max="duration" @change="changeTime"></slider> </view> </template> <script> export default { data() { return { audioSrc: 'your-audio-src', duration: 0, currentTime: 0, timeUpdate: null } }, mounted() { this.initAudio() }, methods: { initAudio() { let audio = uni.createInnerAudioContext() audio.src = this.audioSrc audio.onTimeUpdate(() => { this.duration = audio.duration this.currentTime = audio.currentTime }) audio.play() this.timeUpdate = setInterval(() => { this.currentTime = audio.currentTime }, 500) }, updateTime(e) { this.currentTime = e.detail.currentTime this.duration = e.detail.duration }, changeTime(e) { let audio = uni.createInnerAudioContext() audio.src = this.audioSrc audio.seek(e.detail.value) } } } </script> <style scoped> .uni-slider-wrapper { height: 8px; border-radius: 4px; background-color: #ccc; } .uni-slider-track { height: 8px; border-radius: 4px; background-color: #1cbbb4; } .uni-slider-thumb { border-radius: 12px; background-color: #1cbbb4; } </style>
De cette façon, nous pouvons implémenter la conception de la barre de progression audio dans uniapp, permettant aux utilisateurs de contrôler plus facilement la progression de lecture audio.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

L'article traite de divers types de tests pour les applications UNIAPP, y compris l'unité, l'intégration, les tests fonctionnels, UI / UX, les performances, la plate-forme multiplateforme et la sécurité. Il couvre également une compatibilité multiplateforme et recommande des outils comme JES

L'article traite des stratégies pour réduire la taille du package UNIAPP, en se concentrant sur l'optimisation du code, la gestion des ressources et les techniques comme le fractionnement du code et le chargement paresseux.

L'article traite des outils de débogage et des meilleures pratiques pour le développement de l'UNIAPP, en se concentrant sur des outils comme HBuilderx, WeChat Developer Tools et Chrome Devtools.

Le chargement paresseux dépasse les ressources non critiques pour améliorer les performances du site, réduire les temps de chargement et l'utilisation des données. Les pratiques clés incluent la priorité au contenu critique et l'utilisation d'API efficaces.

L'article discute de l'optimisation des images dans UniaPP pour de meilleures performances Web par compression, conception réactive, chargement paresseux, mise en cache et utilisation du format WebP.

UniApp gère la configuration globale via Manifest.json et le style via app.vue ou app.scss, en utilisant Uni.scss pour les variables et les mixins. Les meilleures pratiques incluent l'utilisation de SCSS, de styles modulaires et de conception réactive.

L'article discute de la gestion des structures de données complexes dans l'UNIAPP, en se concentrant sur des modèles tels que Singleton, Observer, Factory et State, et des stratégies pour gérer les changements d'état de données à l'aide de l'API de composition Vuex et Vue 3.

Les propriétés calculées de l'UNIAPP, dérivées de Vue.js, améliorent le développement en fournissant une gestion des données réactive, réutilisable et optimisée. Ils mettent automatiquement à jour lorsque les dépendances changent, offrant des avantages de performance et simplifiant la gestion de l'État
