2016-10-25 4 views
-1

До сих пор получить DB:Android AudioRecord PCM в

byte data[] = new byte[recBufSize]; 
read = audioRecord.read(data, 0, recBufSize); 
long v = 0; 
for (int i = 0; i < data.length; i++) { 
    v += Math.abs(data[i]); 
} 
double mean = v/(double) read; 
final double volume = 20 * Math.log10(mean); 

Некоторые устройства работают, как и ожидалось, но при работе на других устройствах, значения v, mean и volume не меняют

I. хочет, чтобы получить значение, чтобы определить, является ли пользователь говорит или нет.

это демо может работать поверх часть оборудования по графике, объем не говорить и говорить, когда изменчивость является относительно большой, но еще и другими устройствами в основном не Какие колебания.

Перевод:

В этой демонстрации, громкость либо приглушенный или очень громко, когда он работает на одном устройстве, но на другом устройстве, не существует в принципе никаких других колебаний

+0

Если нет звука, ваши переменные («v», «значит», «Volumn») равна нулю – anhtuannd

+0

я. решение моей проблемы с http://stackoverflow.com/questions/28013253/android-make-a-recorded-pcm-raw-data-playable?nsukey=E%2FFfeAOIKqB0Nzt29eUIERVepOmA%2FzjyWASFhyoL0ZH%2B2280wYaLSiiMszZfjGt9JdMHMh4PwGAVYjHWtrJFmLCtogY3HBjNRKoQO8ceWSpVIkldYa2PcLzclLsT5LE1yMcONwZ1SSmRHnM0lRG0ccEd4kpTnC%2FB48LG4%2FDKYj7zvRKhvOA7lqF8mMfIVnk4 –

ответ

0

Если нет. звук, ваши переменные («v», «значит», «Volumn») равна нулю. Я предполагаю, что у вас нет разрешения на аудиозапись.

во-первых, пожалуйста, проверьте, если у вас есть разрешение аудио записи в манифесте файл.

<uses-permission android:name="android.permission.RECORD_AUDIO"/> 

Если тестируемое устройство работает Зефир, вам необходимо запросить разрешение во время выполнения: https://developer.android.com/training/permissions/requesting.html

+0

Я уверен, что получить эту perminssion.v, среднее, Volumn не равен нулю, то это фиксированное значение, как 31,5; 31,3; 31,4; 31,7; 30.5.when я говорить или не говорить. право устройство может получить список значений, как это 15,1; 16,2; 13,3; 30,1; 33,5; 34,2; 35,4; 12,0; 14.5,13.2; –

Смежные вопросы