我需要在Android应用中连续(小时)录制来自麦克风的未压缩音频,处理音频并在绘图中显示结果。如果应用程序失去焦点,绘图可以(并且应该)停止,但录制和分析不应该。
我不确定我是否采取了正确的步骤,所以这是我想到的实现:
RecordActivity
处理视图,特别是在结果到达并按下按钮时绘制结果。 record
按钮会启动RecordService
RecordService
服务初始化android.media.AudioRecord
并在其AudioRecord.OnRecordPositionUpdateListener
读取缓冲区中,将其保存到文件并分析其内容。存储分析结果。RecordService
使用PendingIntent
将分析结果传达给RecordActivity
,以更新情节。RecordActivity
会通过拨打stopService
来终止服务。我的问题是:
AudioRecord
? (分析显然取决于要求)。整个服务?答案 0 :(得分:0)
Service
是一个很好的解决方案,我不明白为什么你要使用PendingIntent
。也许您应该考虑使用LocalBroadcast
和普通Intent
Activity
的生命周期,我建议使用有界Service
:)Service
逻辑,则不需要。但是,即使应用程序在后台运行,如果您需要服务,那么使用前台Service