N' “16 bits entier des données PCM” dire que c'est signé ou non signé?

J'utilise FMOD pour développer une application qui permettrait de démarrer immédiatement la lecture de l'enregistrement de la prochaine/précédente phrase exactement à partir de son début dans un fichier MP3 qui contient de la parole, sans la musique, quand l'utilisateur a cliqué sur Suivant/Précédent bouton de. J'ai eu le PCM données d'un fichier mp3 en appelant Son::lock, mais Son::getFormat m'a seulement dit qu'il était "16 bits entier des données PCM", sans dire si c'était signé ou unsigned. Comment je le sais?

Certains articles sur Internet disent que presque tout entier 16 bits PCM données sont signé. Si mes données PCM est signé, quel est l'éventail des valeurs représentent le silence, les valeurs proches de 0 (par exemple -10 ~ 10), ou les valeurs proches de -32768 (par exemple -32768 ~ -32750)? Si elles sont les valeurs proches de 0, cela signifie qu'il n'y a pas de différence de sens opposé des chiffres comme -32767 et 32767?

J'ai besoin de détecter les silences qui sont assez longtemps, par exemple, plus de 500ms, afin de déterminer où chaque phrase dans le discours commence.

Quelqu'un pourrait-il me donner des suggestions sur la façon de détecter le silence entre les phrases?

OriginalL'auteur xiaokaoy | 2015-02-20