安卓開發 SoundPool的使用

2021-07-10 04:58:31 字數 1459 閱讀 7182

使用方法: 

1. 建立乙個soundpool 

public soundpool(int maxstream, int streamtype, int srcquality) 

streamtype —— 流的型別,一般為stream_music(具體在audiomanager類中列出) 

srcquality —— 取樣率轉化質量,當前無效果,使用0作為預設值 

例:

soundpool soundpool = new soundpool(3, audiomanager.stream_music, 0); 

2 一般把多個聲音放到hashmap中去,比如 

soundpool = new soundpool(4, audiomanager.stream_music, 100); 

soundpoolmap = new hashmap();   

soundpoolmap.put(1, soundpool.load(this, r.raw.dingdong, 1)); 

soundpool的載入: 

int  load(context context, int resid, int priority)  //從apk資源載入
int  load(filedescriptor fd, long offset, long length, int priority)  //從filedescriptor物件載入
int  load(assetfiledescriptor afd, int priority)  //從asset物件載入 

int  load(string path, int priority)  //從完整檔案路徑名載入

最後乙個引數為優先順序。

play(int soundid, float leftvolume, float rightvolume, int priority, int loop, float rate) ,其中leftvolume和rightvolume表示左右音量,priority表示優先順序,loop表示迴圈次數,rate表示速率,如 

//速率最低0.5最高為2,1代表正常速度 

sp.play(soundid, 1, 1, 0, 0, 1); 

而停止則可以使用 pause(int streamid) 方法,這裡的streamid和soundid均在構造soundpool類的第乙個引數中指明了總數量,而id從0開始。

安卓開發 ContentProvider使用

contentprovider是安卓開發中,必學的幾大模組之一。下面是使用它來訪問 簿,拿出聯絡人並顯示。package com.example.contentprovidertest import android.os.bundle import android.provider.contacts...

Android開發之SoundPool使用詳解

1 延時時間較長,且資源佔用率高。soundpool提供了乙個構造器,該構造器可以指定它總共支援多少個聲音 也就是池的大小 聲音的品質等。構造器如下 soundpool int maxstreams,int streamtype,int srcquality 第乙個引數指定支援多少個聲音 第二個引數...

Android開發之SoundPool使用具體解釋

使用 soundpool mediaplayer 顯得有些不太適合了。由於 mediaplayer 存在例如以下缺點 1 延時時間較長,且資源佔用率高。2 android 中除了mediaplayer soundpool soundpool 使用音效池的概念來管理多個短促的音效,比如它能夠開始就載入...