Andriod擷取系統內建鈴聲

來源:互聯網
上載者:User

 

可以通過RingtoneManager 設定type 後,擷取到Ringtone對象。或則其Uri。

Ringtone可以直接進行播放操作。

Java代碼 

public Ringtone getDefaultRingtone(int type){ 

    return RingtoneManager.getRingtone(mContext, RingtoneManager.getActualDefaultRingtoneUri(mContext, type)); 

 

public Uri getDefaultRingtoneUri(int type){ 

    return RingtoneManager.getActualDefaultRingtoneUri(mContext, type); 

 

public List<Ringtone> getRingtoneList(int type){ 

    List<Ringtone> resArr = new ArrayList<Ringtone>(); 

    RingtoneManager manager = new RingtoneManager(mContext); 

    manager.setType(type); 

    Cursor cursor = manager.getCursor(); 

    int count = cursor.getCount(); 

    for(int i = 0 ; i < count ; i ++){ 

        resArr.add(manager.getRingtone(i)); 

    } 

    return resArr; 

 

public Ringtone getRingtone(int type,int pos){ 

    RingtoneManager manager = new RingtoneManager(mContext); 

    manager.setType(type); 

    return manager.getRingtone(pos); 

 

public List<String> getRingtoneTitleList(int type){ 

    List<String> resArr = new ArrayList<String>(); 

    RingtoneManager manager = new RingtoneManager(mContext); 

    manager.setType(type); 

    Cursor cursor = manager.getCursor(); 

    if(cursor.moveToFirst()){ 

        do{ 

            resArr.add(cursor.getString(RingtoneManager.TITLE_COLUMN_INDEX)); 

        }while(cursor.moveToNext()); 

    } 

    return resArr; 

}  

 

 

public String getRingtoneUriPath(int type,int pos,String def){ 

    RingtoneManager manager = new RingtoneManager(mContext); 

    manager.setType(type); 

    Uri uri = manager.getRingtoneUri(pos); 

    return uri==null?def:uri.toString(); 

 

public Ringtone getRingtoneByUriPath(int type ,String uriPath){ 

    RingtoneManager manager = new RingtoneManager(mContext); 

    manager.setType(type); 

    Uri uri = Uri.parse(uriPath); 

    return manager.getRingtone(mContext, uri); 

}   

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.