Android 设置系统铃声和系统音量

原创
2014/12/27 10:20
阅读数 923

android系统铃声设置

public class Main extends Activity {
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

	}

	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		if (resultCode != RESULT_OK) {
			return;
		}
		Uri uri = data
				.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);

		if (uri != null) {
			switch (requestCode) {
			case 1:
				RingtoneManager.setActualDefaultRingtoneUri(this,
						RingtoneManager.TYPE_RINGTONE, uri);

				break;
			case 2: 
				RingtoneManager.setActualDefaultRingtoneUri(this,
						RingtoneManager.TYPE_ALARM, uri);
				break;
			case 3:
				RingtoneManager.setActualDefaultRingtoneUri(this,
						RingtoneManager.TYPE_NOTIFICATION, uri);
				break;
			default:
				break;
			}
		}
	}

	public void onClick_Call_Ringtone(View view) {
		Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);

		intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,
				RingtoneManager.TYPE_RINGTONE);
		intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "来电铃声");
		startActivityForResult(intent, 1);
	}

	public void onClick_Alarm_Ringtone(View view) {
		Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);

		intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,
				RingtoneManager.TYPE_ALARM);
		intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "闹钟铃声");
		startActivityForResult(intent, 2);
	}

	public void onClick_Notification_Ringtone(View view) {
		Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);

		intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,
				RingtoneManager.TYPE_NOTIFICATION);
		intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "通知铃声");
		startActivityForResult(intent, 3);
	}

}

铃声存储位置

/system/media/audio/

当这里有一个问题,如果想设置用户自定义的铃声,需要将铃声放到指定目录,但一般用户 没有root权限,system不可见甚至不可读,因此,解决此类问题,

android提供了sdcard扩展

/sdcard/music目录下的铃声也可被设置为铃声

 

设置系统音量

参考http://www.cnblogs.com/maxinliang/archive/2013/07/02/3167212.html

 

    //音量控制,初始化定义  
    AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);  
    //最大音量  
    int maxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);  
    //当前音量  
    int currentVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);

设置静音和标准音量切换

    if(isSilent){  
      mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0);  
    }else{  
      mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, tempVolume, 0); //tempVolume:音量绝对值  
    }

弹出系统控制条

//降低音量,调出系统音量控制  
if(flag == 0){  
  mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER,  
                            AudioManager.FX_FOCUS_NAVIGATION_UP);  
}  
//增加音量,调出系统音量控制  
else if(flag == 1){  
  mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_RAISE,  
                            AudioManager.FX_FOCUS_NAVIGATION_UP);  
}

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部