重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Android EasyPlayer声音自动停止、恢复,一键静音等功能
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比陆良网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式陆良网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖陆良地区。费用合理售后完善,十载实体公司更值得信赖。我们在开发播放器时,可能会需要静音或者降低音量的功能。比如说某款音乐播放器,当在后台播放时,如果此时有另外的系统通知声音发出,可能播放器会把音量降低,系统声音结束后,再调高;如果有来电了,播放器可能会把音乐暂停,等通话结束后再继续播放。还有,比方说我们在某个场合放个视频,不料音量很大,会引来很多目光(很尴尬),这时候可能我们需要一键静音的功能。那这些功能我们应该如何实现呢?
Android播放声音的类为AudioTrack,播放器会先把音频流demux出来,再decode,之后,把音频PCM数据通过AudioTrack类write到音频设备中,从而通过话筒或者扬声器发出声音。
为了方便地实现声音控制,我们需要从应用的最上层进行操作(因为底层可能已经被抽象成库了),也就是要从AudioTrack来入手。让我们看看AudioTrack的一些API吧。
int getPlayState () Returns the playback state of the AudioTrack instance. 获取当前的播放状态。这个接口会返回PLAYSTATE_STOPPED、PLAYSTATE_PAUSED、PLAYSTATE_PLAYING 三种状态,分别表示未播放、暂停中、正在播放