十年专注于品牌网站建设 十余年专注于网站建设_小程序开发_APP开发,低调、敢创新、有情怀!
南昌百恒网络微信公众号 扫一扫关注
小程序
tel-icon全国服务热线:400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络微信小程序

百恒网络

南昌百恒网络

Android开发中如何实现音频的播放?

百恒网络 2017-06-29 5369

南昌APP开发中,之前百恒网络为大家介绍过加载音频文件的方法,如今过去了那么久了,如果大家对于这一块还有哪些不清楚的地方,可以点击这篇文章《如何使用SoundPool加载音频文件》再看一遍,相信我们重温了一遍之后大家都会有印象了。既然之前讲了加载音频文化部的方法,那么今天百恒网络就来为大家介绍一下APP开发中播放音频的方法,福利多多,惊喜多多!

在BeatBox中再添加一个play(Sound)方法:

播放音频(BeatBox.java)

mSoundPool = new SoundPool(MAX_SOUNDS, AudioManager.STREAM_MUSIC, 0);

loadSounds();

}

public void play(Sound sound) {

Integer soundId = sound.getSoundId();

if (soundId == null) {

return;

}

mSoundPool.play(soundId, 1.0f, 1.0f, 1, 0, 1.0f);

}

public List getSounds() {

return mSounds;

}

播放前要检查并确保soundId不是null值。Sound加载失败会导致soundId出现null值。

检查通过以后,就可以调用SoundPool.play(int, float, float, int, int, float)方法播放音频了。这些参数依次是:音频ID、左音量、右音量、优先级(无效)、是否循环以及播放速率。我们需要最大音量和常速播放,所以传入值1.0。是否循环参数传入0值,代表不循环。

最后,添加按钮监听器方法,实现点击按钮播放音频,方法如下所示:

点击按钮播放音频(BeatBoxFragment.java)

private class SoundHolder extends RecyclerView.ViewHolder

implements View.OnClickListener {

private Button mButton;

private Sound mSound;

public SoundHolder(LayoutInflater inflater, ViewGroup container) {

super(inflater.inflate(R.layout.list_item_sound, parent, false));

mButton = (Button)itemView.findViewById(R.id.list_item_sound_button);

mButton.setOnClickListener(this);

}

public void bindSound(Sound sound) {

mSound = sound;

mButton.setText(mSound.getName());

}

@Override

public void onClick(View v) {

mBeatBox.play(mSound);

}

}

再次运行应用,点击任意按钮,应该可以听到播放的音频了,如下图所示。

音频界面

以上就是南昌APP开发公司-百恒网络为大家介绍的关于实现音频播放的方法,如果还有哪些不明白的地方,可随时来电和我们联系。如有网站建设、APP开发、网络营销推广等方面的需求,百恒网络将竭诚为您服务!


400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络小程序

欢迎您的光顾,我们将竭诚为您服务×

售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售后服务 售后服务
 
售后服务 售后服务
 
备案专线 备案专线
 
×