我需要在 Android 应用程序中连续(数小时)录制来自麦克风的未压缩音频,处理音频并在绘图中可视化结果。如果应用程序失去焦点,绘图可以(并且应该)停止,但记录和分析不应该。
我不确定我得到了正确的步骤,所以这是我想到的实现:
RecordActivity
处理 View ,特别是在结果到达时绘制结果并处理按钮按下。一个 record
按钮开始 RecordService
RecordService
服务初始化 android.media.AudioRecord
并在其AudioRecord.OnRecordPositionUpdateListener
读取缓冲区,将其保存到文件并分析其内容。存储分析结果。 RecordService
使用 PendingIntent
将分析结果传达给 RecordActivity
,更新情节。 RecordActivity
通过调用 stopService
终止服务. 我的问题是:
AudioRecord
嗯? (分析显然取决于要求)。整个服务? 最佳答案
Service
是一个很好的解决方案,我不明白你为什么要使用 PendingIntent
.也许你应该考虑使用 LocalBroadcast
和正常 Intent
Activity
的生命周期, 我建议使用有界 Service
:) Service
应用程序进入后台时的逻辑,没有必要。但是,如果即使应用程序进入后台,您也需要您的服务,那么最好使用前台 Service
关于android - 连续录制音频并更新 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31023682/