Я хочу записать звук в течение 1 секунды, используя приложение, написанное на Python для SL4A, а затем найти максимальную амплитуду звука.
Есть ли какая-либо часть API SL4A, которую я могу использовать, или часть API Python, которую можно использовать? Или есть какой-нибудь модуль Python, который я могу установить по этому вопросу?
Я искал Python API из SL4A, но не нашел ничего, связанного с амплитудой. Может быть, я просто пропустил это.
UPDATE:
Мне удалось импортировать модуль wave.py
в мой код и попытаться открыть записанный файл. Но когда я получаю доступ к
wave.open("/sdcard/sl4aTemp/sound_sample.wav")
выдает эту ошибку,
File does not start with RIFF id
Для тех из вас, кому интересно, как мой код выглядит здесь:
import android, audioop, time, wave
droid = android.Android()
print "Recording starts in: "
for i in range(0,5):
time.sleep(1)
print str(5-i)
time.sleep(1)
print "Speak!"
droid.recorderStartMicrophone('/sdcard/sl4aTemp/sound_sample.wav')
time.sleep(3)
droid.recorderStop()
print "Processing file in:"
for i in range(0,3):
print str(3-i)
time.sleep(1)
filename = "/sdcard/sl4aTemp/sound_sample.wav"
if wave.open(filename,"r") == True:
print "Processing " + filename
else:
print "File not processed"
FILE=wave.open(filename,"r")
rez=FILE.readframes(30)
print str(rez)