Я пытаюсь заставить mi c работать на android, я использую в основном kivy и buildozer. Я получил аудио на аудиопотоке, однако этот модуль настолько устарел, что больше не будет работать, если использовать вход «запись» GITHub Issue . Хорошо, я не смог заставить работать запись на p c, потому что он говорит «неподдерживаемый», как только я использую функции записи, в документах он упоминает только мобильные устройства, так что это нормально. в любом случае его можно заменить на этих платформах на pyaudio.
Я попытался найти другие варианты, которые я могу использовать, поэтому я наткнулся на pyjnius и MediaRecorder, я очень новичок с java, (и пытаюсь изучите python атм, так что новичок там тоже), поэтому я не смог заставить его работать. Проблема заключается в том, что мне нужно получить все данные * * * * * в байтах, это легко с pyaudio, и это работает. причина, по которой я здесь, это android, где pyaudio не работает (по крайней мере, я еще не пробовал компилировать библиотеки в android, я знаю, что это возможно, но много работы ..)
Вот код, который я должен попытаться заставить это работать:
MediaRecorder = autoclass('android.media.MediaRecorder')
AudioSource = autoclass('android.media.MediaRecorder$AudioSource')
OutputFormat = autoclass('android.media.MediaRecorder$OutputFormat')
AudioEncoder = autoclass('android.media.MediaRecorder$AudioEncoder')
FileOutputStream = autoclass('java.io.FileOutputStream')
gaindata = io.BytesIO()
mRecorder = MediaRecorder()
mRecorder.setAudioSource(AudioSource.MIC)
mRecorder.setOutputFormat(OutputFormat.THREE_GPP)
mRecorder.setOutputFile(gaindata.getBytes())
mRecorder.setAudioEncoder(AudioEncoder.AMR_NB)
mRecorder.prepare()
Я знаю, что есть кое-что о FileDescriptor, есть некоторые примеры, но все они имеют пробелы в строках, поэтому я не знаю, как преобразовать их в python .. все, что я хочу, это setOutputFile -> gaindata
Если есть другой вариант, мне бы хотелось, чтобы мне понадобились данные bytesIO с микрофона (предпочтительнее 8000, моно, raw wav без заголовка ИЛИ GSM6.10), и я преобразую это со звуковым файлом (да, я сделал скомпилированный libsndfile.so для охраны) в gsm6.10 и поместил его в сокет, это приложение VoIP.