关于写android音频方面的应用

最近在写一款内置简单的音频播放器的应用,写一点关于音频播放器一些要注意的事项

1、关于按键KeyEvent.KEYCODE_BACK的处理,一定要对MediaPlayer对象是否正在播放以及是否为空(null&&isplay()),进行判断,并对其进行释放

2、关于播放按钮的处理,一般情况下,点击播放按钮后,音频开始播放,播放按钮的状态应该会变成暂停图标或文字,建议可以写几个常量作控制状态,点击暂停按钮后,按钮状态变为暂停状态(pause),图标又变为播放按钮的图标

3、因为播放按钮的特殊性,建议设置成static静态的,以确定在播放类的对播放进度监听时,如果播放完,按钮图标要重新回到播放图标(因为点击播放按钮后,图标已经变成暂停图标了)

4、上一首、下一首的处理,要改变点击播放按钮时,重新加载的音频文件

5、建议最好对音频播放的各个状态进行监听,MediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener()——音频是否出错,MediaPlayer.setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener()——音频是否开始缓冲,

MediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener()——音频是否开始准备,

MediaPlayer.setOnCompletionListener(new OnCompletionListener()——音频是否播放完成,这几个监听也可以利于我们进行对程序进行排错。

6、音频播放最好单独开一个线程,否则你不想自己的应该因为只有一个线程被阻塞吧,而不能进行其他操作吧

7、因为MediaPlayer本身的原因,你调用start()播放方法的时候,他总是会延迟那么1-2秒,所以你可以用seekTo()方法跳过1000ms

8、有时候,如果不处理,播放音乐默认是正在播放的时候,才能对其音量的大小,作用音量键调整,那么我们可以用下面这句话,获取音频服务,直接去控制,音乐没有播放的时候,也可以调整好音量的大小

AudioManager am = (AudioManager)Context.getSystemService(Context.AUDIO_SERVICE);

/ /获取音频服务然后强转成一个音频管理器,后面方便用来控制音量大小用

Activity.setVolumeControlStream(AudioManager.STREAM_MUSIC);
// 设定调整音量为媒体音量,当暂停播放的时候调整音量就不会再默认调整铃声音量了

9、针对音乐播放的方法,一定要注意一点,就是在对MediaPlayer对象初始化过,之后,一定要执行一下reset(),重置MediaPlayer对象为初始化状态

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值