2013-02-20 5 views
2

Je suis nouveau sur le monde iOS. J'ai un doute . Je voudrais atteindre le dB SPL mètre. J'ai deux boutons 1. jouer la chanson 2. afficher la valeur de décibel. Quand je clique sur le bouton Jouer la chanson, elle joue la chanson. Ma question est tout en jouant le son que je dois afficher la valeur sonore en décibels qui vient de l'iPhone. J'ai cherché dans le google. Mais je ne reçois pas d'idées de base pour démarrer cette application. S'il vous plaît donnez-moi l'idée de le faire. Faites-moi savoir si ma question n'est pas claire.obtenir le niveau sonore en décibels en utilisant objectif-c

+0

Votre question n'est pas claire. Que voulez-vous dire exactement par "valeur décibel"? – ppeterka

+0

Je veux dire que je dois afficher le niveau sonore en unités de décibels – user247

+1

[Et savez-vous ce que cela signifie] (http://en.wikipedia.org/wiki/Sound_pressure)? Comment allez-vous mesurer la pression sonore réelle? Contre quoi voulez-vous calibrer vos valeurs? – ppeterka

Répondre

3

Vous n'avez pas spécifié le cadre que vous utilisez pour la lecture. Mais en supposant que vous utilisez AVFoundation, vous pouvez utiliser AVCaptureAudioChannel ou peakHoldLevel.

La propriété pertinente pour votre problème semble être averagePowerLevel, qui est (de la docs):

Le niveau de puissance moyenne instantanée, en dB. (Lecture seule)

Pour plus de détails, voir AVFoundation Guide de programmation d'Apple, qui includes a section about audio previews.

0

Une solution possible à votre problème pourrait être de le convertir à partir d'une logarithmique à une échelle linéaire:

CGFloar linearScale = powf(10.f, logarithmicScale) * 20.f; 

logarithmicScale est la valeur que vous obtenez de AVFoundation. L'échelle linéaire devrait être beaucoup plus facile à visualiser!

Questions connexes