Android中怎么利用SoundPool播放音效,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)建站是一家專業(yè)提供延邊朝鮮族企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、成都網(wǎng)站建設(shè)、HTML5建站、小程序制作等業(yè)務(wù)。10年已為延邊朝鮮族眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。
SoundPool主要用于播放一些較短的聲音片段,與MediaPlayer相比,SoundPool的優(yōu)勢(shì)在 于CPU資源占用量低和反應(yīng)延遲小。另外,SoundPool還支持自行設(shè)置聲音的品質(zhì)、音量、播放比率等參數(shù)。
一般使用SoundPool播放聲音的步驟如下:
Step1:調(diào)用SoundPool.Builder的構(gòu)造器創(chuàng)建SoundPool.Builder對(duì)象,并可通過該Builder對(duì)象為SoundPool設(shè)置屬性; Step2:調(diào)用SoundPool的構(gòu)造器創(chuàng)建SoundPool對(duì)象; Step3:調(diào)用SoundPool對(duì)象的load()方法從指定資源、文件中加載聲音。最好使用HashMap< Integer, Integer>來管理所加載的聲音; Step4:調(diào)用SoundPool的play()方法播放聲音。
下面的Demo程序示范了如何使用SoundPool來播放音效,該程序提供三個(gè)按鈕,分別用于播放不同的聲音。
layout/activity_main.xml界面代碼如下:
MainActivity.java邏輯代碼如下:
package com.fukaimei.soundpooltest;import android.media.AudioAttributes;import android.media.SoundPool;import android.os.Build;import android.support.annotation.RequiresApi;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import java.util.HashMap;public class MainActivity extends AppCompatActivity implements View.OnClickListener { Button bomb, shot, arrow; // 定義一個(gè)SoundPool SoundPool soundPool; HashMap
上面Demo程序代碼中標(biāo)①的代碼用于創(chuàng)建SoundPool對(duì)象;標(biāo)②的代碼用于使用SoundPool加載多個(gè)不同的聲音;標(biāo)③的代碼則用于根據(jù)聲音ID來播放指定的聲音。這就是使用SoundPool播放聲音的標(biāo)準(zhǔn)過程。
實(shí)際使用SoundPool播放聲音時(shí)有如下幾點(diǎn)需要注意:SoundPool雖然可以一次性加載多個(gè)聲音,但由于內(nèi)存限制,因此應(yīng)該避免使用SoundPool來播放歌曲,只有那些短促、密集的聲音才考慮使用SoundPool進(jìn)行播放。
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。