日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android-铃声的设置与播放

發(fā)布時間:2023/12/1 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android-铃声的设置与播放 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在android系統(tǒng)中,不同鈴聲存放的鈴聲路徑:/system/media/audio/ringtones 來電鈴聲/system/media/audio/notifications 短信通知鈴聲/system/media/audio/alarms 鬧鐘鈴聲鈴聲的設(shè)置:import java.io.File; import android.app.Activity; import android.content.Intent; import android.media.RingtoneManager; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.Button; public class Activity01 extends Activity { /* 3個按鈕 */ private Button mButtonRingtone; private Button mButtonAlarm; private Button mButtonNotification; /* 自定義的類型 */ public static final int ButtonRingtone = 0; public static final int ButtonAlarm = 1; public static final int ButtonNotification = 2; /* 鈴聲文件夾 */ private String strRingtoneFolder = "/sdcard/music/ringtones"; private String strAlarmFolder = "/sdcard/music/alarms"; private String strNotificationFolder = "/sdcard/music/notifications"; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mButtonRingtone = (Button) findViewById(R.id.ButtonRingtone); mButtonAlarm = (Button) findViewById(R.id.ButtonAlarm); mButtonNotification = (Button) findViewById(R.id.ButtonNotification); /* 設(shè)置來電鈴聲 */ mButtonRingtone.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View arg0) { if (bFolder(strRingtoneFolder)) { //打開系統(tǒng)鈴聲設(shè)置 Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); //類型為來電RINGTONE intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_RINGTONE); //設(shè)置顯示的title intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "設(shè)置來電鈴聲"); //當(dāng)設(shè)置完成之后返回到當(dāng)前的Activity startActivityForResult(intent, ButtonRingtone); } } }); /* 設(shè)置鬧鐘鈴聲 */ mButtonAlarm.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View arg0) { if (bFolder(strAlarmFolder)) { //打開系統(tǒng)鈴聲設(shè)置 Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); //設(shè)置鈴聲類型和title intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_ALARM); intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "設(shè)置鬧鈴鈴聲"); //當(dāng)設(shè)置完成之后返回到當(dāng)前的Activity startActivityForResult(intent, ButtonAlarm); } } }); /* 設(shè)置通知鈴聲 */ mButtonNotification.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View arg0) { if (bFolder(strNotificationFolder)) { //打開系統(tǒng)鈴聲設(shè)置 Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); //設(shè)置鈴聲類型和title intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION); intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "設(shè)置通知鈴聲"); //當(dāng)設(shè)置完成之后返回到當(dāng)前的Activity startActivityForResult(intent, ButtonNotification); } } }); } /* 當(dāng)設(shè)置鈴聲之后的回調(diào)函數(shù) */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub if (resultCode != RESULT_OK) { return; } switch (requestCode) { case ButtonRingtone: try { //得到我們選擇的鈴聲 Uri pickedUri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI); //將我們選擇的鈴聲設(shè)置成為默認(rèn) if (pickedUri != null) { RingtoneManager.setActualDefaultRingtoneUri(Activity01.this, RingtoneManager.TYPE_RINGTONE, pickedUri); } } catch (Exception e) { } break; case ButtonAlarm: try { //得到我們選擇的鈴聲 Uri pickedUri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI); //將我們選擇的鈴聲設(shè)置成為默認(rèn) if (pickedUri != null) { RingtoneManager.setActualDefaultRingtoneUri(Activity01.this, RingtoneManager.TYPE_ALARM, pickedUri); } } catch (Exception e) { } break; case ButtonNotification: try { //得到我們選擇的鈴聲 Uri pickedUri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI); //將我們選擇的鈴聲設(shè)置成為默認(rèn) if (pickedUri != null) { RingtoneManager.setActualDefaultRingtoneUri(Activity01.this, RingtoneManager.TYPE_NOTIFICATION, pickedUri); } } catch (Exception e) { } break; } super.onActivityResult(requestCode, resultCode, data); } //檢測是否存在指定的文件夾 //如果不存在則創(chuàng)建 private boolean bFolder(String strFolder) { boolean btmp = false; File f = new File(strFolder); if (!f.exists()) { if (f.mkdirs()) { btmp = true; } else { btmp = false; } } else { btmp = true; } return btmp; } } 鈴聲的播放:player = new MediaPlayer(); try{ player.setDataSource(context, pickUri); }catch(Exception e){ e.printStackTrace(); } final AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); if(audioManager.getStreamVolume(AudioManager.STREAM_ALARM)!=0){ player.setAudioStreamType(AudioManager.STREAM_ALARM); player.setLooping(true); try { player.prepare(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } player.start(); }

?

轉(zhuǎn)載于:https://www.cnblogs.com/Free-Thinker/p/6704982.html

總結(jié)

以上是生活随笔為你收集整理的android-铃声的设置与播放的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。