android开发中音频的使用

当进行android开发或游戏开发时,常常会涉及背景音乐的播放,以及短音效的使用

1.当涉及到背景音乐等长音乐播放时通常使用MediaPlayer类进行播放操作

MediaPlayer类常用方法:

    1.public static void MediaPlayer create(Context context,int resid)

context:上下文     resid:资源文件位置,常用于导入项目中的音频文件

使用静态create方法创建MediaPlayer对象:MediaPlayer mp=MediaPlayer.create(this,R.raw.XXX);

    2.public void reset();

将MediaPlayer重置为初始化状态

    3.public void setDataSource(String path)

path:文件的路劲或要播放的网络URL

设置要播放的数据源

    4.public void prepare()

准备播放

    5.public void start()

开始播放数据源所指定的媒体

    6.public void stop()

停止播放

    7.public void release()

释放与此MediaPlayer对象想关联的资源。通常在使用完MediaPlayer之后调用,解除资源占用

2.当需要使用到一些反复出现,且时长很短的音效时,最好使用SoundPool。它还可支持多种声音的播放,只需在开始时将这些音效加载进其中,之后按照音效id调用相应的音效播放即可

代码实现:

    private SoundPool sp=new SoundPool(5,AudioManager.STREAM_SYSTEM,5);

    sp.load(this,R.raw.XXX,1);

    sp.play(1,1,1,0,0,1);

下面一行一行解读

1.private SoundPool sp=new SoundPool(5,AudioManager.STREAM_SYSTEM,5);

声明SoundPool对象,并实例化。三个参数依次表示:

(1)一个sp对象能够支持的音效文件数量,该参数决定了android为其开设多大的缓冲区

(2)标识为系统声音,除此之外还有AudioManager.STREAM_RING和AudioManager_STREAM_MUSIC等,系统会根据不同的标识为该音效设置不同的优先级和缓冲区

(3)该参数表示声音的品质,数值越大品质越高,消耗的系统资源越多

2.sp.load(this,R.raw.XXX,1);

(1)上下文参数

(2)音效文件ID(例:R.raw.XXX)

(3)该音效文件在sp中的优先级

3.sp.play(1,1,1,0,0,1)

(1)ID:id即为音效文件放入sp中的顺序

(2)控制左声道音量

(3)控制右声道音量

(4)优先级

(5)是否循环播放,0不循环,-1循环

(6)播放比率(播放速度)范围0.5-2,0.5速度减半播放,2两倍速播放,1正常播放

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值