在南昌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开发、网络营销推广等方面的需求,百恒网络将竭诚为您服务!