如何在Android Studio中处理录制音频的过程?

时间:2016-08-08 00:14:35

标签: java android multithreading audio

我正在使用AudioRecord对象,并在AudioRecord.OnRecordPositionUpdateListener内我正在实现AudioRecord.read将数据写入字节缓冲区,之后我调用另一个对象的方法来处理字节缓冲区并且之后返回写入文件,问题是对象的处理很长并且似乎停止了主线程,这很奇怪我认为AudioRecord.OnRecordPositionUpdateListener是线程的

1 个答案:

答案 0 :(得分:0)

除非明确说明,否则假设在android中没有任何线程。它在UI线程上的所有回调。

执行此操作的常规方法是在应用程序的onCreate或onStart中启动一个线程,并让它等待来自主线程的消息。然后,您对onMarkerRead(或您需要的任何其他函数)的实现将向该线程发送消息。您可以在调用通知函数时创建一个线程,但保持线程可以避免每次收到通知时在操作系统级别创建线程。

避免在此处使用AsyncTasks。它们听起来像是正确的解决方案,但由于所有应用程序任务都是单线程的,因此可以无限期地保留它们。

相关问题