本篇文章為大家展示了android中怎么實現(xiàn)小音頻頻繁播放,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供西夏企業(yè)網(wǎng)站建設,專注與網(wǎng)站建設、成都網(wǎng)站設計、H5建站、小程序制作等業(yè)務。10年已為西夏眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡公司優(yōu)惠進行中。第一步:放置目標音頻文件
將音頻文件放在res/raw目錄下,這樣就可以通過R來引用它了。如果想放在Assert目錄下也是可以的,這里先放在raw下。
第二步:編寫音頻播放的類
public class MusicPlayer { private Context mContext ; private static MusicPlayer sInstance ; static class Type{ public final static int MUSIC_CLICK = 1 ; public final static int MUSIC_FOCUSED = 2 ; } private SoundPool mSp ; private Map
第三步:調用接口,播放音頻
// 在界面上需要這樣調用// 初始化mMusic = MusicPlayer.getInstance(MainActivity.this) ;// 在onClick中播放click時的聲音mMusic.play(MusicPlayer.Type.MUSIC_CLICK) ;// 在onFocusChange中聚焦狀態(tài)播放聚焦的聲音mMusic.play(MusicPlayer.Type.MUSIC_FOCUSED) ;
如果想放在Assert中的話,要注意在引用音頻文件時要用AssetFileDescriptor,具體方式如下:
MediaPlayer mMediaPlayer = new MediaPlayer() ; AssetFileDescriptor fd = mContext.getAssets().openFd(“music/click.pm3”) ; // assert目錄下的music目錄 mMediaPlayer.setDataSource(fd.getFileDescriptor() ,fd.getStartOffset() ,fd.getLength()) ; mMediaPlayer.prepare() ; mMediaPlayer.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer arg0) { mMediaPlayer.release() ; } }) ; mMediaPlayer.setOnErrorListener(new OnErrorListener() { @Override public boolean onError(MediaPlayer arg0, int arg1, int arg2) { mMediaPlayer.release() ; return false; } }) ;mMediaPlayer.start() ;
上述內(nèi)容就是android中怎么實現(xiàn)小音頻頻繁播放,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。