有个需求,在有消息来的时候,进行弹窗和播放语音提示。并且要不要提示做成配置项写在配置文件。读写配置项比较简单,就不在描述。关于弹窗和播放的处理下面可以探讨一番。
最简单的方式,也是最容易想到的方式,就是,在来消息的地方直接判断弹框标志和播放语音标志。如果标志为TRUE,则弹窗和播放语音。
这里首先有个顺序的问题,如果先播放语音(异步播放),在弹窗。当用户点击窗口确认后,文件还会继续播放;如果把弹窗放前面,播放语音放后面,则现象是什么呢。界面线程会阻塞,窗口可以弹窗,但是提示内容不显示,直到播放语音结束,才显示。
好吧,有人可能会想到,在点击弹窗的结束的时候,发个消息给主窗口。
还有没有其他的方法呢。
可以开启一个线程,在线程中播放语音,同时,将文件播放时间定在1S左右,循环播放,然后判断标志。
还有没有其他的方式?可不可以把播放的操作就放在对话框中,当关闭的时候,就停止播放了?但如果不需要弹出框呢?可不可以不显示对话框,然后只播放语音呢。
在开发过程中,一些异步消息的处理,往往会需要有同步机制来处理。同步的机制可以是变量判断,消息同步,事件通知等等。在这里我不想探讨这些,我想说的是一种思路,分析和解决问题的思路。有的人拿到需求和问题,就开始做,然后遇到问题,在打回修改,反反复复,这样折腾几次,自己都没信心解决问题了。如此,长久下去,就对自己的能力产生怀疑。其实呢,很多事情,思考的时间,比实现的实现要长得多。也就是说,很多时候是在寻找更好的解决方法,这样才可以按要求实现功能,并且也是绝对最有效,最快的。
有的时候,虽然这些方法不是最好的,但是一定是最节约时间的。可以先想出一个思路,然后与同事,与领导等讨论一下,如果大部分都觉得,没问题,那就可以开始实现了。
另外就是问题的定位,能不能快速的确定问题所在的原因,只是碰运气,这有的时候虽然是解决了问题,但是自己的水平和层次,还是没有提高,因为你没有思考,没有深入研究。所以请大家在动之前,多思考,多讨论,多想几种方法,然后选1,2种去实现。这种效率也许短期体现不出来,但是当对业务和架构都了解后,绝对是可以提高效率的。为了高效,为了提升自己,多思考,多讨论,大家一起吧!
转载请注明原创链接:http://blog.csdn.net/wujunokay/article/details/41460403
原文地址:http://blog.csdn.net/wujunokay/article/details/41460403