Android 铃声多媒体音量、静音、震动(附源码)

导读:

Android提供了可以进行对原生系统进行控制API。AudioManager用来对音量、模式(静音,震动,震动加声音等模式)等进行管理。可以用Vibrator、HapticFeedback进行管理手机震动。本人带着案例进行讲解,先温柔点讲控制系统音量,再说撩人的震动棒...呸..是振荡器。


一、AudioManager (音频管理)

1、音乐的播放方式

//1、自定义音频文件test
 MediaPlayer player = MediaPlayer.create(getApplicationContext(), R.raw.test);

//2、系统电话铃声TYPE_RINGTONE\系统通知铃声TYPE_NOTIFICATION 
Uri  uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);  

MediaPlayer  mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource(PlayerService.this, uri);

————————————————————————————————————————————————————————————————               
 mMediaPlayer.setLooping(true); // 设置循环播放
               
 mMediaPlayer.prepare();//准备
               
 mMediaPlayer.start();//播放


2、修改音量方式

首先,拿到音频管理实例对象。 AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);

然后,设置音量。例如 audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 30, 0);

(1)修改音量

adjustVolume(int direction , int  flag) //修改音量

direction(方向):顾名思义,就是点击事件发生,往上增加音量,往下减少音量,和保持音量不变。

  •  AudioManager.ADJUST_LOWER(降低) 
  •  AudioManager.ADJUST_RAISE(升高) 
  •  AudioManager.ADJUST_SAME(锁定不变)  

(2) 修改类型、音量

adjustStreamVolume(int  streamType ,int direction , int flag) //修改类型、音量

streamType(音频流类型):即指定声音类型,有下述几种声音类型:

STREAM_ALARM:手机闹铃     STREAM_MUSIC:手机音乐

STREAM_RING:电话铃声      STREAM_SYSTEAM:手机系统

STREAM_DTMF:音调         STREAM_NOTIFICATION:系统提示

STREAM_VOICE_CALL:语音电话

flag(标志):其实是点击事件发生后,音量的表现形式。

  • AudioManager.FLAG_SHOW_UI :会弹出调节音量的界面
  • AudioManager.FLAG_ALLOW_RINGER_MODES :最低声音会振动

(3)设置音量大小 

setStreamVolume(int streamType, int index, int flags)//直接设置音量大小

index(音量的值) ,int类型。

 

4、实用小案例

XML 写一个SeekBar控件

<android.support.v7.widget.AppCompatSeekBar
    android:id="@+id/play_volume"
    android:layout_width="match_parent"
    android:layout_height=&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

艾阳Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值