在南昌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開發、網絡營銷推廣等方面的需求,百恒網絡將竭誠為您服務!