当前位置: 首页 > news >正文

广告传媒网站模板免费网站推广方式

广告传媒网站模板,免费网站推广方式,福州网站建设工作,网站充值系统怎么做Android 一体机研发之修改系统设置————屏幕亮度 Android 一体机研发之修改系统设置————声音 Android 一体机研发之修改系统设置————自动锁屏 修改系统设置系列篇章马上开张了! 本章将为大家细节讲解声音。 对于声音功能大家都不陌生,在多…

在这里插入图片描述
Android 一体机研发之修改系统设置————屏幕亮度

Android 一体机研发之修改系统设置————声音

Android 一体机研发之修改系统设置————自动锁屏

修改系统设置系列篇章马上开张了! 本章将为大家细节讲解声音。

对于声音功能大家都不陌生,在多媒体时代,它是很必要的,同样也是缺它不可的版块;而在一体机实际应用中,这里更改的是媒体音量

声音

几个常见的 “音量类型”: STREAM_VOICE_CALL 通话STREAM_SYSTEM 系统STREAM_RING 铃声STREAM_MUSIC 媒体音量STREAM_ALARM 闹钟STREAM_NOTIFICATION 通知

设计思路

  1. 获取音频管理器
  2. 获取媒体音量最大值
  3. 获取系统当前媒体音量
  4. 通过seekBar设置系统媒体音量

具体实现

获取音频管理器
  • Java
 AudioManager mAudioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
  • Kotlin
mAudioManager = this.getSystemService(Context.AUDIO_SERVICE) as AudioManager

获取媒体音量最大值
  • Java
mMaxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
  • Kotlin
mMaxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)

获取系统当前媒体音量
  • Java
/*** 获取系统媒体音量* STREAM_VOICE_CALL 通话* STREAM_SYSTEM 系统* STREAM_RING 铃声* STREAM_MUSIC 媒体音量* STREAM_ALARM 闹钟* STREAM_NOTIFICATION 通知*/
mCurrentVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
  • Kotlin
mCurrentVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC)

设置系统媒体音量

  • Java
	voiceBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {Log.e("进度显示 >>>", "onProgressChanged: " + progress);//设置系统媒体音量setStreamVolume(progress);}public void onStartTrackingTouch(SeekBar seekBar) {}public void onStopTrackingTouch(SeekBar seekBar) {}});/*** 设置系统媒体音量* setStreamVolume 直接设置音量* adjustStreamVolume 步长式设置音量,即10,20,30这样阶梯式* <p>* 参数1:音量类型* 参数2:音量数值* 参数3:* AudioManager.FLAG_SHOW_UI 调整音量时显示系统音量进度条 , 0 则不显示* AudioManager.FLAG_ALLOW_RINGER_MODES 是否铃声模式* AudioManager.FLAG_VIBRATE 是否震动模式* AudioManager.FLAG_SHOW_VIBRATE_HINT 震动提示* AudioManager.FLAG_SHOW_SILENT_HINT 静音提示* AudioManager.FLAG_PLAY_SOUND 调整音量时播放声音*/private void setStreamVolume(int volume) {mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, volume, AudioManager.FLAG_PLAY_SOUND);}
  • Kotlin
	seekBar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {Log.i("onProgressChanged----", "" + progress)mCurrentVolume = progress//更新页面updateNum(mCurrentVolume)//设置媒体音量setStreamVolume(mCurrentVolume)}override fun onStartTrackingTouch(seekBar: SeekBar?) {}override fun onStopTrackingTouch(seekBar: SeekBar?) {}})/*** 更新页面显示*/private fun updateNum(volume: Int) {//tv_volume.text = volume.toString()seekBar.progress = volume}/*** 设置系统媒体音量*/private fun setStreamVolume(volume: Int) {mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, volume, AudioManager.FLAG_SHOW_UI)}

监听系统按键

	//监听系统按键public boolean onKeyDown(int keyCode, KeyEvent event) {switch (keyCode) {case KeyEvent.KEYCODE_VOLUME_DOWN:if (mCurrentVolume > 0) {mCurrentVolume--;} else {mCurrentVolume = 0;}voiceBar.setProgress(mCurrentVolume);setStreamVolume(mCurrentVolume);Log.e("音量减 >>", "onKeyDown: " + mCurrentVolume );return true;case KeyEvent.KEYCODE_VOLUME_UP:if (mCurrentVolume < mMaxVolume) {mCurrentVolume++;} else {mCurrentVolume = mMaxVolume;}voiceBar.setProgress(mCurrentVolume);setStreamVolume(mCurrentVolume);Log.e("音量加 >>", "onKeyDown: " + mCurrentVolume );return true;/* case KeyEvent.KEYCODE_VOLUME_MUTE:return true;*/}return super.onKeyDown(keyCode, event);}

完整操作

  • Java
/*** @author 拉莫帅* @date 2023/2/8* @address* @Desc 修改系统声音(媒体声音)*/
public class ChangeVoiceActivity extends AppCompatActivity {private AudioManager mAudioManager;private SeekBar voiceBar;//当前音量private int mCurrentVolume = 0;//最大音量private int mMaxVolume = 0;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_chanage_voice);init();}private void init() {voiceBar = findViewById(R.id.voiceBar);ImageView back = findViewById(R.id.back);TextView title = findViewById(R.id.title);title.setText("声音");mAudioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);/*** 获取系统媒体音量* STREAM_VOICE_CALL 通话* STREAM_SYSTEM 系统* STREAM_RING 铃声* STREAM_MUSIC 媒体音量* STREAM_ALARM 闹钟* STREAM_NOTIFICATION 通知*/mCurrentVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);//获取媒体音量最大值mMaxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);Log.e("进度 >>", "init: " + mCurrentVolume + "---" + mMaxVolume);voiceBar.setMax(mMaxVolume);//更新进度条voiceBar.setProgress(mCurrentVolume);back.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {finish();}});voiceBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {Log.e("进度显示 >>>", "onProgressChanged: " + progress);setStreamVolume(progress);}public void onStartTrackingTouch(SeekBar seekBar) {}public void onStopTrackingTouch(SeekBar seekBar) {}});}//监听系统按键public boolean onKeyDown(int keyCode, KeyEvent event) {switch (keyCode) {case KeyEvent.KEYCODE_VOLUME_DOWN:if (mCurrentVolume > 0) {mCurrentVolume--;} else {mCurrentVolume = 0;}voiceBar.setProgress(mCurrentVolume);setStreamVolume(mCurrentVolume);Log.e("音量减 >>", "onKeyDown: " + mCurrentVolume );return true;case KeyEvent.KEYCODE_VOLUME_UP:if (mCurrentVolume < mMaxVolume) {mCurrentVolume++;} else {mCurrentVolume = mMaxVolume;}voiceBar.setProgress(mCurrentVolume);setStreamVolume(mCurrentVolume);Log.e("音量加 >>", "onKeyDown: " + mCurrentVolume );return true;/* case KeyEvent.KEYCODE_VOLUME_MUTE:return true;*/}return super.onKeyDown(keyCode, event);}/*** 设置系统媒体音量* setStreamVolume 直接设置音量* adjustStreamVolume 步长式设置音量,即10,20,30这样阶梯式* <p>* 参数1:音量类型* 参数2:音量数值* 参数3:* AudioManager.FLAG_SHOW_UI 调整音量时显示系统音量进度条 , 0 则不显示* AudioManager.FLAG_ALLOW_RINGER_MODES 是否铃声模式* AudioManager.FLAG_VIBRATE 是否震动模式* AudioManager.FLAG_SHOW_VIBRATE_HINT 震动提示* AudioManager.FLAG_SHOW_SILENT_HINT 静音提示* AudioManager.FLAG_PLAY_SOUND 调整音量时播放声音*/private void setStreamVolume(int volume) {mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, volume, AudioManager.FLAG_PLAY_SOUND);}
}
  • Kotlin
class VolumeActivity : AppCompatActivity() {//音频管理器private lateinit var mAudioManager: AudioManager//当前音量private var mCurrentVolume: Int = 0//最大音量private var mMaxVolume: Int = 0override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_volume)init()setListener()}("SetTextI18n")private fun init() {mAudioManager = this.getSystemService(Context.AUDIO_SERVICE) as AudioManager/*** ringerMode 音量模式* RINGER_MODE_NORMAL 正常* RINGER_MODE_SILENT 静音* RINGER_MODE_VIBRATE 震动*/when (mAudioManager.ringerMode) {AudioManager.RINGER_MODE_NORMAL -> tv_mode.text = "当前音量模式:正常"AudioManager.RINGER_MODE_SILENT -> tv_mode.text = "当前音量模式:静音"AudioManager.RINGER_MODE_VIBRATE -> tv_mode.text = "当前音量模式:震动"}/*** 获取系统媒体音量* STREAM_VOICE_CALL 通话* STREAM_SYSTEM 系统* STREAM_RING 铃声* STREAM_MUSIC 媒体音量* STREAM_ALARM 闹钟* STREAM_NOTIFICATION 通知*/mCurrentVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC)//获取媒体音量最大值mMaxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)seekBar.max = mMaxVolumetv_max.text = "最大音量:$mMaxVolume"updateNum(mCurrentVolume)}private fun setListener() {btn_mode.setOnClickListener {mAudioManager.ringerMode = AudioManager.RINGER_MODE_NORMALtv_mode.text = "当前音量模式:正常"}seekBar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {Log.i("onProgressChanged----", "" + progress)mCurrentVolume = progressupdateNum(mCurrentVolume)setStreamVolume(mCurrentVolume)}override fun onStartTrackingTouch(seekBar: SeekBar?) {}override fun onStopTrackingTouch(seekBar: SeekBar?) {}})}/*** 更新页面显示*/private fun updateNum(volume: Int) {tv_volume.text = volume.toString()seekBar.progress = volume}/*** 设置系统媒体音量* setStreamVolume 直接设置音量* adjustStreamVolume 步长式设置音量,即10,20,30这样阶梯式** 参数1:音量类型* 参数2:音量数值* 参数3:*      AudioManager.FLAG_SHOW_UI 调整音量时显示系统音量进度条 , 0 则不显示*      AudioManager.FLAG_ALLOW_RINGER_MODES 是否铃声模式*      AudioManager.FLAG_VIBRATE 是否震动模式*      AudioManager.FLAG_SHOW_VIBRATE_HINT 震动提示*      AudioManager.FLAG_SHOW_SILENT_HINT 静音提示*      AudioManager.FLAG_PLAY_SOUND 调整音量时播放声音*/private fun setStreamVolume(volume: Int) {mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, volume, AudioManager.FLAG_SHOW_UI)}


最近忙里偷闲,↓↓↓↓【谁家de码农陈先生】↓↓↓↓,里面定时给大家分享技术博文、前方高能资讯内容!欢迎各位老板点赞关注,你们就是我的动力源泉!

http://www.hkea.cn/news/861069/

相关文章:

  • 如何用api方式做网站域名批量查询工具
  • wordpress 网易云跟帖优化合作平台
  • 建设党建网站联盟青岛网站推广公司
  • 石湾网站建设湘潭关键词优化服务
  • 淘宝优惠券怎么做网站网络服务提供商
  • 哪里有网站建设电话查排名官网
  • 做网站需要准备的工具网络营销方案模板
  • 科技未来网站建设百度推广开户公司
  • 十度网站建设保定网站推广公司
  • php可以做视频网站有哪些软文推广渠道主要有
  • 成都网站建设桔子科技淘宝付费推广有几种方式
  • 福田的网站建设公司网络营销成功案例ppt免费
  • 网站建设英文专业术语百度推广网址
  • 做网站之前需要准备什么企业网络营销策划案
  • dreamweaver动态网站开发与设计教程内容怎么在百度上面打广告
  • 济南网站搜索优化深圳网络推广招聘
  • 网站 色彩武汉it培训机构排名前十
  • 怎么做资源网站网络培训中心
  • 服装品牌网站建设营销网站建设选择原则
  • 乌鲁木齐新市网站建设有哪些网络营销公司
  • 网站的后台怎么做企业网络规划设计方案
  • 做网站文字字号大小企业网站设计要求
  • ae有么有做gif的网站品牌推广方案范文
  • apicloud官网下载seo关键词优化排名公司
  • 上海网站制作福州百度关键字优化精灵
  • 做uml图网站百度账号快速注册入口
  • 广西梧州南京 seo 价格
  • 网站警察备案seo关键词优化平台
  • 网站开发设计实训 报告惠州网站建设
  • 网站开发的原理山西免费网站关键词优化排名