815

news/2025/1/12 3:54:43/
AudioManager(音频管理器):AudioManager am=(AudioManager)this.getSystemService(Service.AUDIO_SERVICE);int maxVol= am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);//获取最大音乐音量值(15最大) AudioManager.STREAM_VOICE_CALL 通话音量 AudioManager.STREAM_SYSTEM 系统音量 AudioManager.STREAM_RING 铃声音量 AudioManager.STREAM_ALARM 提示音音量int current=am.getStreamVolume(AudioManager.STREAM_MUSIC);setVolumeControlStream(int streamType)可以设置该Activity中音量控制键控制的音频流
setVolumeControlStream(AudioManager.STREAM_MUSIC);
//设定调整音量为媒体音量,当暂停播放的时候调整音量就不会再默认调整铃声音量了adjustStreamVolume(int streamType,int direction,int flags)//按部调整手机指定类型的声音的大小。第一个参数 指定声音类型,第二个参数指定对声音进行增大AudioManager.ADJUST_RAISE还是减小AudioManager.ADJUST_LOWER,第三个参数是调整声音时的标志:如FLAG_SHOW_UI 指定调整声音时显示声音进度条setStreamVolume(int streamType,int index,int flags)直接设置手机指定的类型音量值 flags:AudioManager.FLAG_PLAY_SOUNDam.setStreamMute(AudioManager.STREAM_MUSIC,isChecked);//根据isChecked确定是否需要静音1.MediaPlayer mplayer=new MediaPlayer();
2.mplayer.reset();
3.mplayer.setDataSource(String path); 
或 mplayer.setDataSource(FileDescriptor fd,long offset,long length); 或  mplayer.setDataSource(FileDescriptor fd);或 mplayer.setDataSource(Context context,Uri uri);
4.mplayer.prepare();
5.mplayer.start();
mplayer.setOnCompletionListener(new onCompletionListener())
mplayer.setOnPreparedListener(new onPreparedListener())
mplayer.setOnSeekCompeteListener(new onOnSeekCompeteListener())备注:AssetManager am=getAssets();AssetFileDescriptor afd=am.openFd(music);afd.getFileDescriptor();1.SoundPool soundpool=new SoundPOOL(10,AudioManager.STREAM_SYSTEM,5);//最多可容纳10个音频流,音频的品质为5
2.HashMap<Integer,Integer> soundMap=new ....;
3.soundMap.put(1,soundPool.load(this,R.raw.bomb,1))//load方法加载指定音频文件,并返回所加载的音频Id,此处使用hashMap来管理这些音频流,1 代表的是priority,目前没有任何意义
load(FileDescriptor fd,long offset,long length,int priority);
load(AssetFileDescriptor afd,int priority);
load(String path,int priority);
4.soundpool.play(soundMap.get(1),1,1,0,0,1);//(int soundID, float leftVolume, float rightVolume, int priority, int loop, float )震动 Vibrator
1.Vibrator vibrator=(Vibrator)getSystemService(Service.VIBRATOR_SERVICE);
2.vibrator.vibrate(2000)//控制手机震动2秒
或 vibrator.vibrate(long[]pattern,intrepeat)。(pattern的形式为new long[]{arg1,arg2,arg3,arg4......},其中以两个一组的如arg1 和arg2为一组、arg3和arg4为一组,每一组的前一个代表等待多少毫 秒启动vibrator,后一个代表vibrator持续多少毫秒停止,之后往复即 可。Repeat表示重复次数,当其为-1时,表示不重复只以pattern的方 式运行一次)。
3.vibrator.cancle();
<uses-permission android:name="android.permission.VIBRATE">传感器 SensorManager
1.SensorManager sensormanager=(SensorManager)getSystemService(Context.SENSOR_SERVICE);
2.sensormanager.registerListener(this,sensormanager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),SensorManager.SENSOR_DELAY_GAME);//为指定的sensor注册监听器(Listener,sensor,rate)第一个参数:监听传感器事件的监听器,第二个参数:传感器对象,第三个参数 获取传感器数据的频率
其中sensormanager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);获取指定类型的传感器
3.implements SensorEventListener 重写 public void onSensorChanged(SensorEvent event);{float[]values=event.values;//x.y.z轴方向上的加速度values[0],values[1],values[2]}//此方法在当传感器的值发生变化时回调
public void onAccuracyChanged(Sensor sensor,int accuracy)//当传感器精度改变时调用x = event.values[0]; // 手机横向翻滚
// x>0 说明当前手机左翻 x<0右翻
y = event.values[1]; // 手机纵向翻滚
// y>0 说明当前手机下翻 y<0上翻
z = event.values[2]; // 屏幕的朝向
// z>0 手机屏幕朝上 z<0 手机屏幕朝下
 如果当前手机是纵向屏幕:  x>0 说明当前手机左翻 x<0右翻     y>0 说明当前手机下翻 y<0上翻 如果当前手机是横向屏幕: x>0 说明当前手机下翻 x<0上翻     y>0 说明当前手机右翻 y<0左翻  




http://www.ppmy.cn/news/242106.html

相关文章

宝德银河麒麟系统打印机安装及共享方法(二)

本文介绍的打印机连接方法适用于宝德“银河麒麟桌面操作系统V10(SP1)”&#xff08;宝德PowerLeader&#xff1b;内核&#xff1a;linux5.4.18-35-generic&#xff0c;基于Ubuntu LTS版本&#xff1b;体系架构&#xff1a;ARM64&#xff09;&#xff0c;其他的Linux系统可以参考…

网络安全必学 SQL 注入

1.1 .Sql 注入攻击原理 SQL 注入漏洞可以说是在企业运营中会遇到的最具破坏性的漏洞之一&#xff0c;它也是目前被利用得最多的漏洞。要学会如何防御 SQL 注入&#xff0c;首先我们要学习它的原理。 针对 SQL 注入的攻击行为可描述为通过在用户可控参数中注入 SQL 语法&#x…

【业务功能篇16】Springboot+mybatisplus+ShedLock框架根据一定的逻辑数据处理规则,定时任务生成告警单

业务场景&#xff1a;当前业务产品&#xff0c;在生产过程中&#xff0c;不乏会出现一些问题&#xff0c;那么就会有人员记录每个问题单&#xff0c;那么这些问题单&#xff0c;业务需要对这些数据&#xff0c;进一步处理&#xff0c;制定了一些规则逻辑&#xff0c;基于这些问…

ChatGPT+Pandas 联手,打造智能数据分析助手PandasAI,数据分析师也要失业了?!

文章目录 前言一、ChatGPT的介绍二、Pandas的介绍三、使用Pandas处理文本数据四、使用ChatGPT生成文本总结 笔记、Python学习资料戳链接直达获取>> 前言 自然语言处理&#xff08;NLP&#xff09;是人工智能领域中的一个重要分支&#xff0c;它涉及到计算机对人类语言的…

卡尔曼滤波算法-简易版

代码实现&#xff1a; /********************************************************************************* file bsp_kalman.h* author Zxp* version V1.0.0* date 2021-06-08* brief 卡尔曼滤波算法头文件****************************************************…

二维标准Kalman滤波

背景 二维标准kalman滤波仿真&#xff0c;绘制了噪声、跟踪状态和误差图&#xff0c;并且加入了攻击的代码部分&#xff0c;需要在第一个状态量的量测值中设置攻击的时候&#xff0c;将attack变量设置为1&#xff0c;会在20-40,60-80时刻加入相应攻击&#xff0c;攻击变量为at…

无损卡尔曼滤波

创作不易&#xff0c;转载请注明来源&#xff1a;http://blog.csdn.net/adamshan/article/details/78359048 通过上一篇文章&#xff0c;我们已经知道KF不适用于非线性系统&#xff0c;为了处理非线性系统&#xff0c;我们通过一阶泰勒展式来近似&#xff08;用线性函数近似&a…

拆卸 美能达 AF 50 1.7

http://bbs.mydigit.cn/read.php?tid259281 本人已在相机维修区发帖 地址如下 http://bbs.mydigit.cn/read.php?tid259277 维修区的帖子被总版加精 同时拆解过程也完成 资料图以及非维修拆解(卡口构件拆解)请移步 此贴将不更新 但想到这里的拆客更多因此再发出来与大家分享 并…