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

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);  
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值