溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

android中怎么實現小音頻頻繁播放

發布時間:2021-08-09 16:26:55 來源:億速云 閱讀:139 作者:Leah 欄目:編程語言

本篇文章為大家展示了android中怎么實現小音頻頻繁播放,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

第一步:放置目標音頻文件

將音頻文件放在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<integer ,integer=""> sSpMap ;  private MusicPlayer(Context context){    mContext = context ;    sSpMap = new TreeMap<integer ,integer="">() ;    mSp = new SoundPool(10 ,AudioManager.STREAM_MUSIC ,100) ;    sSpMap.put(Type.MUSIC_CLICK, mSp.load(mContext, R.raw.click, 1)) ;    sSpMap.put(Type.MUSIC_FOCUSED, mSp.load(mContext, R.raw.focused, 1)) ;  }     public static MusicPlayer getInstance(Context context){    if(sInstance == null)      sInstance = new MusicPlayer(context) ;    return sInstance ;  }     public void play(int type){    if(sSpMap.get(type) == null) return ;    mSp.play(sSpMap.get(type), 1, 1, 0, 0, 1) ;  }}

第三步:調用接口,播放音頻

// 在界面上需要這樣調用// 初始化mMusic = MusicPlayer.getInstance(MainActivity.this) ;// 在onClick中播放click時的聲音mMusic.play(MusicPlayer.Type.MUSIC_CLICK) ;// 在onFocusChange中聚焦狀態播放聚焦的聲音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() ;

上述內容就是android中怎么實現小音頻頻繁播放,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女