现在的位置: 首页 > 综合 > 正文

android SoundRecorder设计二

2013年08月01日 ⁄ 综合 ⁄ 共 876字 ⁄ 字号 评论关闭

 

二.SoundRecorder类介绍

先介绍RemainingTimeCalculator类。它负责计算存储介质剩余空间能够存放多长的录音文件。其中的timeRemaining()函数负责计算剩余时间,取文件大小限制和空间大小限制的较小的一个来计算剩余时间。

mCurrentLowerLimit = result < result2

            ? DISK_SPACE_LIMIT : FILE_SIZE_LIMIT;

 

SoundRecorder类本身是一个Activity。该类负责实现一切向用户显示的部分:包括界面,对各种操作的响应。录音、保存录音、播放录音等功能通过调用Recorder类中的方法实现。在SoundRecorder中包含一个Recorder类的对象mRecorder。

作为Activity类的子类,SoundRecorder重载了父类的多个函数:

onCreate() onDestroy()(从启动到完全销毁)

onStart() onStop()(从可视到不可视)

onPause() (从可操作到不可操作)

这几个函数包含Activity在不同状态间切换时需要的操作。这里指的状态切换是因为SoundRecorder程序之外的影响,如手机休眠、程序挂起、从SoundRecorder程序切换到其他程序等。

 

此外SoundRecorder还重载了几个函数:

onConfigurationChanged();横竖屏切换时,刷新UI界面。

onSaveInstanceState(Bundle outState);将Recorder的状态保存到Bundle,实际调用的是上面提到的saveState()函数。当SoundRecorder因为某些原因需要中断时,状态被保存,然后在重启时由onCreate()中的相应代码读取Bundle中的状态值,回复中断前程序的状态,实际调用的是上面提到的restoreState()函数。

onPrepareOptionsMenu()、onOptionsItemSelected(),这两个函数负责实现menu键功能。

【上篇】
【下篇】

抱歉!评论已关闭.