Kivy中的音频录制
在Kivy中可以录音吗?
我从文档中了解到,Kivy可以播放音频,但我们能不能录音然后再播放呢?这个功能在所有平台上都能用吗?比如说,我们可以在Windows或Ubuntu上开发,然后在Android上运行这个应用吗?
如果不行,那有没有其他的解决办法呢?
2 个回答
1
我找不到其他方法,只能用特定平台的方法。最后我在安卓上用了这个变种:
from jnius import autoclass
from time import sleep
if platform() == 'android':
# get the needed Java classes
MediaRecorder = autoclass('android.media.MediaRecorder')
AudioSource = autoclass('android.media.MediaRecorder$AudioSource')
OutputFormat = autoclass('android.media.MediaRecorder$OutputFormat')
AudioEncoder = autoclass('android.media.MediaRecorder$AudioEncoder')
# create out recorder
mRecorder = MediaRecorder()
mRecorder.setAudioSource(AudioSource.MIC)
mRecorder.setOutputFormat(OutputFormat.MPEG_4)
mRecorder.setOutputFile('/sdcard/test_recording.mp4')
mRecorder.setAudioEncoder(AudioEncoder.AMR_NB)
mRecorder.prepare()
# record 5 seconds
mRecorder.start()
sleep(5)
mRecorder.stop()
mRecorder.release()
1