Comment obtenir le taux d'Échantillonnage et la fréquence des fichiers de musique (MP3) dans android?
Je suis en train d'élaborer lecteur audio android. Je tiens donc à ajouter les détails de la chanson c'est à dire le Nom de l'Artiste, la Durée, le débit binaire et la fréquence d'échantillonnage.
Je peux obtenir le Nom de l'Artiste et de la durée d'un fichier audio à l'aide MediaStore.Audio.Media library
. Mais je n'arrive pas à obtenir le débit binaire et la fréquence d'échantillonnage d'un même fichier. Alors, comment puis-je obtenir le même?
Que je sais, il peut être fait en utilisant la bibliothèque native. Mais ne savez pas comment faire? Si quelqu'un peut m'aider sur ce point?
Je pense que pour calculer la fréquence, vous devez faire un Fast Fourier Transformation (FFT).
Une FFT donnerait la distribution de fréquence du son lui-même, et non pas le taux d'échantillonnage, non?
Une FFT donnerait la distribution de fréquence du son lui-même, et non pas le taux d'échantillonnage, non?
OriginalL'auteur Sandy | 2011-02-28
Vous devez vous connecter pour publier un commentaire.
Vous pouvez approximative en divisant la taille du fichier par la durée de l'audio en quelques secondes, par exemple, à partir d'un hasard M4A AAC encodés dans ma bibliothèque:
Puisque la plupart des fichiers audio ont un ensemble connu de valable bitrate niveaux, vous pouvez l'utiliser à l'étape du débit au niveau approprié pour l'affichage.
C'est plus difficile, comme le taux d'échantillonnage serait plutôt difficile de tirer d'autres informations. Presque tous les consommateurs Cd audio après l'utilisation d'échantillonnage de 44,1 KHz, de sorte qu'il pourrait être sûr de supposer que, ou tout simplement ne pas le montrer parce qu'il est de peu de conséquence pour de nombreux utilisateurs.
Le bonjour-jni exemple d'application semble faire quelque chose de très similaire à ce que vous devez faire, à savoir obtenir une simple valeur de code natif au code géré. J'aimerais vérifier que. developer.android.com/sdk/ndk/overview.html#samples et il semble que theres un tutoriel sur mobile.tutsplus.com/tutorials/android/ndk-tutorial
Ceux-ci peuvent vous montrer comment communiquer sur la géré/native diviser, mais pour trouver le code dont vous avez besoin à appeler pour obtenir que les informations que vous aurez besoin de chercher dans les docs. Ceux qui ne sont pas disponibles en ligne, et je n'ai pas le NDK installé, donc je ne peux pas vous aider là-bas. J'avais suggère fortement de simplement ignorer la fréquence d'échantillonnage info, que presque personne ne s'en soucie, et presque tous les fichiers audio sont au même taux. Vous aurez une assez mauvaise effort:ratio de récompense.
Assurez-vous. Lors de l'enregistrement de l'audio numérique, une mesure de la pression est pris plusieurs fois à la seconde. Ceci est un exemple. Pour les CD-audio de qualité, 44,1 kHz est utilisée pour le taux d'échantillonnage. C'est, de 44 100 échantillons sont prélevés à chaque seconde. 48 khz est également souvent utilisé, en particulier sur les DAT et bandes DV. Le débit est la quantité de bande passante nécessaire pour une période de temps donnée. 128kbit implique qu'il existe près de 16kbytes de données représentant 1 seconde de l'audio. Vous montrer comment obtenir le débit binaire, qui a absolument rien à voir avec le taux d'échantillonnage.
OriginalL'auteur
Je sais que ça a été résolu, mais je me suis bien meilleure façon d'obtenir de réponse précise
OriginalL'auteur
MediaMetadataRetriever offre
METADATA_KEY_DURATION
qui vous pouvez diviser la taille du fichier de bitrate.OriginalL'auteur