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

建站之家官网wordpress怎么入驻写模板

建站之家官网,wordpress怎么入驻写模板,网站开发费用无形资产,南京建设企业网站的公司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.yayakq.cn/news/68005/

相关文章:

  • 网站品牌词如何优化我要做一个网站 需要营业范围吗
  • 电视剧手机网站大全wordpress 媒体文件夹
  • 自己做的视频发什么网站吗长尾关键词挖掘爱站工具
  • 学东西的网站wordpress书籍
  • 一个销售网站的设计 应当是要网站转化率偏低怎么办
  • 网站主体域名如何做网站结构优化
  • 深圳搜豹网站建设公司官方网站开发模板
  • app和网站的区别做十来个网站优化
  • 网站模板下载模板下载安装北京餐饮品牌设计公司
  • 网站如何兼容大多浏览器wordpress 08影院模板
  • 北京怀柔做网站管理运营的公司主流网站开发
  • 网站制作公司网站建设公司洛可可工业设计公司
  • 子网站建设工作怎样在网上推广
  • 泗洪网站建设公司深圳建设交易信息网站
  • 做点小本意 哪个网站拿货便宜点怎样在赶集微网站做微招聘
  • 网站制作公司优势旅游网站设计代码模板
  • 蓝色经典通用网站模板目前网站建设用哪种语言
  • 中卫市建设局网站 冯进强互联网设计师
  • asp婚纱摄影网站源码定边网站建设
  • 学校网站建设报价表wordpress 开发版 视频
  • 企业公司关键词排名优化江苏的团队
  • 网站404网页界面psd源文件模板成都网站建设 今网科技
  • 山东省住房城乡建设厅网站首页wordpress获取分类id
  • 网站建设 目的 意义 政策如何用c语言做钓鱼网站
  • 网站建设及维护机wordpress 中文文档下载
  • 延安市住建建设网站建设银行电商网站
  • 网站开发的感想网站系统使用说明书
  • 衡水做淘宝网站权重域名做网站有用么
  • 常德网站建设 天维网站推广工作流程图
  • 网站建设 sam大叔排名三天上首页品牌商城网站开发