Je développe une application pour iPhone qui enregistre l'audio et enregistre ce fichier audio. J'ai besoin de créer une interface utilisateur similaire à celle de l'application Voice Memo avec un VU-mètre. J'ai implémenté du code pour enregistrer de l'audio, mais je n'ai aucune idée de la mise en œuvre du VU-mètre. Dans l'attente d'une réponse. Merci d'avance.Implémentation de VU mètres dans l'iphone
Répondre
Un VU-mètre affiche simplement l'amplitude à court terme du signal sur une échelle logarithmique (dB). Vous devez mesurer en continu l'amplitude (RMS) du signal sur un intervalle de temps court (par exemple 10 ms), puis convertir la magnitude RMS en dB et mettre à jour l'affichage du compteur.
RMS_signal (V) = sqrt(sum(x^2)/N)
où N est le nombre d'échantillons (par exemple N = 441 pour un échantillon de 10 ms à la fréquence d'échantillonnage de 44,1 kHz)
Magnitude (dB) = 20.0 * log10(RMS_signal) + K
où K est une constante d'étalonnage (dB offset).
Vous pouvez également ajouter un filtre passe-bas pour lisser l'amplitude affichée. Voir stackoverflow.com/questions/2167513.
Vous pouvez utiliser un framework OpenGL simple et facilement extensible gl-data-visualization-view pour afficher un compteur UV. Vous devez simplement ajouter GLDataVisualizationView, définir le type de visualisation comme compteur analogique et définir la valeur à visualiser.
- 1. distanceTo() distance de retour pas en mètres!
- 2. Détermination de l'échelle en mètres par pixel
- 3. TableView comme vu dans "Adresses"
- 4. Est-ce que quelqu'un a vu une implémentation de 2-Sat
- 5. fenêtre de serveur pas vu dans eclipse3.1
- 6. Implémentation de WeakReference dans .NET
- 7. Vidéo Vu compteur
- 8. Emplacement WCF vu dans un test
- 9. Implémentation de Singleton classique dans OCaml
- 10. erreur Makefile: fin de ligne inattendue vu
- 11. Implémentation de l'API avec implémentation backend remplaçable dans .NET (F #)
- 12. Implémentation des invites dans l'entrée de texte
- 13. Implémentation de fonctions trigonométriques inverses dans C#
- 14. Implémentation de COMET clientide
- 15. Implémentation de OnePerSessionBehavior dans NInject
- 16. Implémentation de sortrows dans MATLAB
- 17. Implémentation de commandes dans MMVM
- 18. Implémentation de IInternetZoneManager dans .NET
- 19. Implémentation de VNC dans Qt
- 20. Implémentation de Captcha dans ROR
- 21. Implémentation de Math.pow() dans blackberry
- 22. Implémentation de MVC dans Winforms
- 23. Implémentation de Threading dans PHP
- 24. Implémentation de-ede2 dans vb.net
- 25. Implémentation de canplaythrough dans SoundManager2
- 26. Implémentation de REST dans twisted.protocols.ftp.FTP?
- 27. Besoin de prendre en charge l'affichage des données dans les pieds et les mètres
- 28. Implémentation de GoTo dans WF 4
- 29. Implémentation LDAP dans .net
- 30. Implémentation d'interfaces dans Erlang
Salut mike-dutka! Merci pour votre code gl-data-visualization-view. C'est bien! Comment puis-je ajouter un filtre passe-bas à votre code? J'utilise en ce moment le code suggéré par sens-questions sur ce lien: http://stackoverflow.com/questions/9247255/am-i-doing-the-right-thing-to-convert-decibel-from-120 -0-à-0-120 est-il assez bon pour un swing niddle lisse? Merci pour votre temps! – Winston