搜档网
当前位置:搜档网 › Android 用AudioManager类控制音量

Android 用AudioManager类控制音量

Android 用AudioManager类控制音量
Android 用AudioManager类控制音量

Android 用AudioManager类控制音量

一个好的Android 应用免不了会自带背景音乐,比如游戏或者一款比较不错的书本阅读器。一些好的应用在自带音乐的时候会多添加一款小功能即可以帮助用户设置声音大小或者改变应用的声音模式。

那么我们就来认识一下

1、认识AudioManager

AudioManager 类位于android.Media 包中,该类提供访问控制音量和钤声模式的操作。

2、AudioManager 主要方法介绍

由于AudioManager 该类方法过多,这里只讲述几个比较常用到的方法:

方法:adjustVolume(int direction, int flags)

解释:这个方法用来控制手机音量大小,当传入的第一个参数为AudioManager.ADJUST_LOWER 时,可将音量调小一个单位,传入AudioManager.ADJUST_RAISE 时,则可以将音量调大一个单位。

方法:getMode()

解释:返回当前音频模式。

方法:getRingerMode()

解释:返回当前的铃声模式。

方法:getStreamV olume(int streamType)

解释:取得当前手机的音量,最大值为7,最小值为0,当为0时,手机自动将模式调整为“震动模式”。

方法:setRingerMode(int ringerMode)

解释:改变铃声模式

3、程序逻辑实现过程

界面上设置了一个图片,表示当前铃声状态,一个进度条表示当前音量大小,五个图片按钮,用来表示增加/减小音量、普通模式、静音模式和震动模式。下面是界面的XML 布局代码:

Java代码:

1XML/HTML代码

1

1

1android:id="@+id/layout1"

1android:layout_width="fill_parent"

1android:layout_height="fill_parent"

1android:background="@drawable/white"

1xmlns:android="https://www.sodocs.net/doc/b42334975.html,/apk/res/android"

1>

1

1android:id="@+id/myText1"

1android:layout_width="wrap_content"

1android:layout_height="wrap_content"

1android:text="@string/str_text1"

1android:textSize="16sp"

1android:textColor="@drawable/black"

1android:layout_x="20px"

1android:layout_y="42px"

1>

1

1

1android:id="@+id/myImage"

1android:layout_width="48px"

1android:layout_height="48px"

1android:layout_x="110px"

1android:layout_y="32px"

1>

1

1

1android:id="@+id/myText2"

1android:layout_width="wrap_content"

1android:layout_height="wrap_content"

1android:text="@string/str_text2"

1android:textSize="16sp"

1android:textColor="@drawable/black"

1android:layout_x="20px"

1android:layout_y="102px"

1>

1

1

1android:id="@+id/myProgress"

1style="?android:attr/progressBarStyleHorizontal" 1android:layout_width="160dip"

1android:layout_height="wrap_content"

1android:max="7"

1android:progress="5"

1android:layout_x="110px"

1android:layout_y="102px"

1>

1

1

1android:id="@+id/downButton"

1android:layout_width="100px"

1android:layout_height="100px"

1android:layout_x="50px"

1android:layout_y="162px"

1android:src="@drawable/down"

1>

1

1

1android:id="@+id/upButton"

1android:layout_width="100px"

1android:layout_height="100px"

1android:layout_x="150px"

1android:layout_y="162px"

1android:src="@drawable/up"

1>

1

1

1android:id="@+id/normalButton"

1android:layout_width="60px"

1android:layout_height="60px"

1android:layout_x="50px"

1android:layout_y="272px"

1android:src="@drawable/normal"

1>

1

1

1android:id="@+id/muteButton"

1android:layout_width="60px"

1android:layout_height="60px"

1android:layout_x="120px"

1android:layout_y="272px"

1android:src="@drawable/mute"

1>

1

1

1android:id="@+id/vibrateButton"

1android:layout_width="60px"

1android:layout_height="60px"

1android:layout_x="190px"

1android:layout_y="272px"

1android:src="@drawable/vibrate"

1>

1

1

2

程序类分别为:

1、viewHolder

界面上的所有控件和元素都在这里静态声明

Java代码:

Java代码

2packagecom.Demo;

2

2importandroid.media.AudioManager;

2importandroid.widget.ImageButton;

2importandroid.widget.ImageView;

2importandroid.widget.ProgressBar;

2

2publicclassviewHolder{

2

2publicstaticImageButtondownButton;

2publicstaticImageButtonupButton;

2publicstaticImageButtonnormalButton;

2publicstaticImageButtonmuteButton;

2publicstaticImageButtonvibrateButton;

2publicstaticProgressBarmyProgressBar;

2

2publicstaticImageViewmyImageView;

2

2publicstaticAudioManageraudiomanage;

2}

3

2、AudioManagerActivity

程序入口处,和主要逻辑代码的处理,程序开头以(AudioManager)getSystemService(AUDIO_SERVICE); 取得AudioManager 对象。然后再利用该对象来对铃声进行调整。声明了一个返回ImageButton 的方法,用来处理各自按钮点击所执行的不同事件和对图片的状态进行调整设置。以下把代码提供给大家:

Java代码:

4Java代码

4packagecom.Demo;

4

4importandroid.app.Activity;

4importandroid.media.AudioManager;

4importandroid.os.Bundle;

4importandroid.view.View;

4importandroid.view.View.OnClickListener;

4importandroid.widget.ImageButton;

4importandroid.widget.ImageView;

4importandroid.widget.ProgressBar;

4

4publicclassAudioManagerActivityextendsActivity{

4//音量变量

4privateintvolume=0;

4//声音模式

4privateintmode;

4/**Calledwhentheactivityisfirstcreated.*/

4@Override

4publicvoidonCreate(BundlesavedInstanceState){

4super.onCreate(savedInstanceState);

4setContentView(https://www.sodocs.net/doc/b42334975.html,yout.main);

4findview();

4//通过getStreamV olume获得当前音量大小

4volume=viewHolder.audiomanage.getStreamVolume(AudioManager.STREAM_ RING);

4//把当前音量的值设置给进度条

4viewHolder.myProgressBar.setProgress(volume);

4//得到当前的声音模式

4mode=viewHolder.audiomanage.getRingerMode();

4setImageState();

4viewHolder.downButton=btnListener(viewHolder.downButton);

4viewHolder.upButton=btnListener(viewHolder.upButton);

4viewHolder.muteButton=btnListener(viewHolder.muteButton);

4viewHolder.normalButton=btnListener(viewHolder.normalButton);

4viewHolder.vibrateButton=btnListener(viewHolder.vibrateButton);

4}

4

4//找到控件

4voidfindview(){

4viewHolder.downButton=(ImageButton)findViewById(R.id.downButton);

4viewHolder.upButton=(ImageButton)findViewById(R.id.upButton);

4viewHolder.muteButton=(ImageButton)findViewById(R.id.muteButton);

4viewHolder.normalButton=(ImageButton)findViewById(R.id.normalButton); 4viewHolder.vibrateButton=(ImageButton)findViewById(R.id.vibrateButton);

4viewHolder.myImageView=(ImageView)findViewById(R.id.myImage);

4viewHolder.myProgressBar=(ProgressBar)findViewById(R.id.myProgress);

4viewHolder.audiomanage=(AudioManager)getSystemService(AUDIO_SERVIC E);

4}

4

4//按钮的单击事件

4ImageButtonbtnListener(ImageButtonb){

4 b.setOnClickListener(newOnClickListener(){

4

4@Override

4publicvoidonClick(Viewv){

4//TODOAuto-generatedmethodstub

4switch(v.getId()){

4caseR.id.downButton:

4viewHolder.audiomanage.adjustV olume(AudioManager.ADJUST_LOWER,0); 4volume=viewHolder.audiomanage.getStreamVolume(AudioManager.STREAM_ RING);

4viewHolder.myProgressBar.setProgress(volume);

4mode=viewHolder.audiomanage.getRingerMode();

4setImageState();

4break;

4caseR.id.upButton:

4viewHolder.audiomanage.adjustV olume(AudioManager.ADJUST_RAISE,0);

4volume=viewHolder.audiomanage.getStreamV olume(AudioManager.STREAM_ RING);

4viewHolder.myProgressBar.setProgress(volume);

4mode=viewHolder.audiomanage.getRingerMode();

4setImageState();

4break;

4caseR.id.muteButton:

4viewHolder.audiomanage.setRingerMode(AudioManager.RINGER_MODE_SIL ENT);

4volume=viewHolder.audiomanage.getStreamVolume(AudioManager.STREAM_ RING);

4viewHolder.myProgressBar.setProgress(volume);

4viewHolder.myImageView.setImageDrawable(getResources().getDrawable(R.dra wable.mute));

4break;

4caseR.id.normalButton:

4viewHolder.audiomanage.setRingerMode(AudioManager.RINGER_MODE_NO RMAL);

4volume=viewHolder.audiomanage.getStreamVolume(AudioManager.STREAM_ RING);

4viewHolder.myProgressBar.setProgress(volume);

4viewHolder.myImageView.setImageDrawable(getResources().getDrawable(R.dra wable.normal));

4break;

4caseR.id.vibrateButton:

4viewHolder.audiomanage.setRingerMode(AudioManager.RINGER_MODE_VIB RATE);

4volume=viewHolder.audiomanage.getStreamVolume(AudioManager.STREAM_

RING);

4viewHolder.myProgressBar.setProgress(volume);

4viewHolder.myImageView.setImageDrawable(getResources().getDrawable(R.dra wable.vibrate));

4break;

4}

4

4}

4});

4returnb;

4}

4

4//设置图片状态

4voidsetImageState(){

4if(mode==AudioManager.RINGER_MODE_NORMAL)

4{

4viewHolder.myImageView.setImageDrawable(getResources().getDrawable(R.dra wable.normal));

4}

4elseif(mode==AudioManager.RINGER_MODE_SILENT)

4{

4viewHolder.myImageView.setImageDrawable(getResources().getDrawable(R.dra wable.mute));

4}

4elseif(mode==AudioManager.RINGER_MODE_VIBRA TE)

4{

4viewHolder.myImageView.setImageDrawable(getResources().getDrawable(R.dra wable.vibrate));

4}

4}

4}

5

android studio 控件常用属性

android studio 控件常用属性 下面是RelativeLayout各个属性 1.android:layout_above="@id/xxx" --将控件置于给定ID控件之上 2.android:layout_below="@id/xxx" --将控件置于给定ID控件之下 3. android:layout_toLeftOf="@id/xxx" --将控件的右边缘和给定ID控件的左边缘对齐 4.android:layout_toRightOf="@id/xxx" --将控件的左边缘和给定ID控件的右边缘对齐 5. android:layout_alignLeft="@id/xxx" --将控件的左边缘和给定ID控件的左边缘对齐 6.android:layout_alignTop="@id/xxx" --将控件的上边缘和给定ID控件的上边缘对齐 7.android:layout_alignRight="@id/xxx" --将控件的右边缘和给定ID控件的右边缘对齐 8.android:layout_alignBottom="@id/xxx" --将控件的底边缘和给定ID控件的底边缘对齐 9.android:layout_alignParentLeft="true" --将控件的左边缘和父控件的左边缘对齐 10. android:layout_alignParentTop="true" --将控件的上边缘和父控件的上边缘对齐 11. android:layout_alignParentRight="true" --将控件的右边缘和父控件的右边缘对齐 12.android:layout_alignParentBottom="true" --将控件的底边缘和父控件的底边缘对齐 13.android:layout_centerInParent="true" --将控件置于父控件的中心位置 14.android:layout_centerHorizontal="true" --将控件置于水平方向的中心位置 15.android:layout_centerVertical="true" --将控件置于垂直方向的中心位置 android:layout_width 设置组件的宽度 android:layout_height 设置组件的高度 android:id 给组件定义一个id值,供后期使用 android:background 设置组件的背景颜色或背景图片 android:text 设置组件的显示文字 android:textColor 设置组件的显示文字的颜色 android:layout_below 组件在参考组件的下面 android:alignTop 同指定组件的顶平行

Android界面开发之常用系统控件界面大合集

今天我用自己写的一个Demo 和大家详细介绍一个Android开发中遇到的一些常用系统控件的使用技巧。 1.文本框TextView TextView的作用是用来显示一个文本框,下面我用两种方式为大家呈现TextView,第一种是通过xml布局文件

呈现,第二种是通过代码来呈现,由此可见Android 的界面开发真的是非常灵活。 view plaincopy to clipboardprint? 1. public class TextViewActivity extends Activity { 2. @Override 3. protected void onCreate(Bundle savedInstanceState) { 4. setContentView(https://www.sodocs.net/doc/b42334975.html,yout.textview);

5. 6. LinearLayout ll = (LinearLayout) findViewById(R.id.textviewll); 7. TextView textView = new TextView(this); 8. //设置显示文字 9. textView.setText("从代码中添加一个TextView"); 10. //设置显示颜色 11. textView.setTextColor(Color.WHITE); 12. //设置显示字体大小 13. textView.setTextSize(18); 14. //设置显示背景颜色 15. textView.setBackgroundColor(Color.BLUE); 16. //设置锚点位置 17. textView.setGravity(Gravity.CENTER_VERTICAL|Gravity.CE NTER_HORIZONTAL); 18. //把这个view加入到布局当中 19. ll.addView(textView); 20. 21. super.onCreate(savedInstanceState); 22. } 23. } 1. 2.

语音芯片的音量控制方法

语音芯片音量控制方法及各行业语音芯片选型方法 很多语音芯片有带音量控制,有些则不带音量控制。语音芯片的音量控制一般分为两种,一种是硬件音量控制,另外一种是软件音量控制。 一、硬件音量控制:语音芯片的音量控制一般分为8级音量控制和16级音量控制。但是语音芯片一般有两种音频输出方式,一种是PWM音频输出,一种是DAC音频输出,哪语音芯片的硬件音量控制是怎么控制两种音频输出的音量的呢?一般是采用调整电流的方式来控制音量的输出。控制PWM电流就可以控制输出到喇叭上的电流强度,从而控制喇叭振幅的大小,从而控制我们人感知的音量大小。DAC音频输出方式,同样也是控制电流形式,因为语音芯片大多数一般都是电流型DAC只要控制DAC的电流就可以控制外部三极管的基极电流,从而控制喇叭上的电流强度达到音量调节的目的。 二、软件音量控制:由于软件调节音量不能直接控制PWM和DAC上的电流,所以软件音量控制一般是直接调整输送到音频合成器的数值,达到音量控制的目的。所以只要通过一定的数学运算,就可以对输送到音频合成器的数值进行调制。理论上软件音量控制可以任意级数。但是由于受到CPU运算能力的影响和实际应用的需求一般也是做16级音量控制。如果运算能力有限也可以做2级或者4级音量控制。 各行业语音芯片如何选型? 目前各行用的最多的是8脚语音芯片,因为电路体积小、应用方便,而且价格比较低,一般为OTP类型的较为多,各行业均会优先考虑该类型。8脚语音芯片主要是指软封装为八个引脚,硬封装为DIP8或者SOP8的语音芯片,常见的八脚语音芯片有WTH040系列、WTH080系列、WTN3系列、WTN4系列、WTN5系列、WTH040系列、WTH080系列……,不同的芯片行业领域应用可选择不同的型号。一般的语音集成电路的封装形式大部分是双列直插式塑料封装集成电路(DIP),俗称硬封装电路,按引脚数分为8脚、14脚、16脚等,每个引脚的功能是不同的。通常引脚多,集成电路芯片的体积越大,电路功能强,价格较八脚的高,八脚语音芯片也是小体积语音IC,空间占用小。 常用的8脚语音ic用途很多,目前很多行业青睐8脚语音芯片,行业常用的语音芯片有哪些呢?分别用在什么用途,语音芯片的选型,除了考虑管脚外,也要考虑价格、语音长度等,以下为您详解WTN3。 WTN3语音芯片在芯片应用范围上,几乎可以涉及到所有需要低成本,但不更改语音的

Android开发日志—常用控件篇(android简介和容器控件)

Android开发日志—常用控件篇(容器控件) android简介: Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。 Android的系统架构和其操作系统一样,采用了分层的架构。 Android结构 从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。 隐藏在每个应用后面的是一系列的服务和系统, 其中包括; 丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(Lists),网格(Grids),文本框(Text boxes),按钮(Buttons),甚至可嵌入的web 浏览器。 内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据 资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和布局文件(Layout files )。 通知管理器(Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。 活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。 Android开发四大组件分别是:活动(Activity):用于表现功能。服务(Service):后台运行服务,不提供界面呈现。广播接收器(BroadcastReceiver):用于接收广播。内容提供商(Content Provider):支持在多个应用中存储和读取数据,相当于数据库。 活动(当前界面视图):

Android 小项目之--使用【AudioManager】类控制音量

Android 小项目之--使用【AudioManager】类控制音量 一个好的 Android 应用免不了会自带背景音乐,比如游戏或者一款比较不错的书本阅读器。一些好的应用在自带音乐的时候会多添加一款小功能即可以帮助用户设置声音大小或者改变应用的声音模式。 本篇基于 Android API 中的 AudioManager 作讲述,使看过本篇的读者可以迅速的掌握这个类的实现过程。下面是本篇大纲: ?1、认识 AudioManager ?2、AudioManager 主要方法介绍 ?3、程序逻辑实现过程 1、认识 AudioManager AudioManager 类位于 android.Media 包中,该类提供访问控制音量和钤声模式的操作。2、AudioManager 主要方法介绍 邮于 AudioManager 该类方法过多,这里只讲述几个比较常用到的方法:?方法:adjustVolume(int direction, int flags) 解释:这个方法用来控制手机音量大小,当传入的第一个参数为 AudioManager.ADJUST_LOWER 时,可将音量调小一个单位,传入 AudioManager.ADJUST_RAISE 时,则可以将音量调大一个单位。 ?方法:getMode() 解释:返回当前音频模式。 ?方法:getRingerMode() 解释:返回当前的铃声模式。 ?方法:getStreamVolume(int streamType) 解释:取得当前手机的音量,最大值为7,最小值为0,当为0时,手机自动将模式调整为“震动模式”。 ?方法:setRingerMode(int ringerMode) 解释:改变铃声模式 3、程序逻辑实现过程 界面上设置了一个图片,表示当前铃声状态,一个进度条表示当前音量大小,五个图片按钮,用来表示增加/减小音量、普通模式、静音模式和震动模式。下面是界面的 XML 布局代码:

Android常用控件

《Android基础应用》 Android常用控件 ?本章任务 ?使用Android开发使用时间组件 ?使用Android开发使用进度条组件 ?使用Android开发创建底部选项卡 ?本章目标 ?了解Android的组件层次结构 ?掌握常用的日期时间类控件 ?掌握常用的几个容器组件 1.Android组件的层次结构 UI组件都是View的子类,View有很多子类,它们之间存在树状的继承关系View及其子类结构图

TextView及其子类结构图

ViewGroup及其子类结构图 其下的子类一般作为容器或布局来使用 FrameLayout及其子类结构图 其下的子类通常作为容器或布局来使用

2.时间控件 2.1日期时间选择器 DatePicker组件可用于输入日期,TimePicker组件可用来选择时间,只能输入小时和分,默认12小时制 DatePicker ●使用onDateChangedListener监听器来获取用户的日期选择 ●使用init对组件进行初始化 ●使用getYear,getMonth,getDayOfMonth方法获得用户选择的年,月,日 TimePicker ●使用onTimeChangedListener监听器获取用户的时间选择 ●使用setIs24HourView设置是否以24小时制显示 ●使用getCurrentHour获得当前的小时数 ●使用getCurrentMinute获得当前的分钟数 示例

示例的实现结果

2.2时钟组件 AnalogClock组件用来以表盘的方式显示当前时间,该表只有时针和分针,DigitClock组件以数字的方式显示当前时间可以显示时分秒,由于DigitClock继承TextView,可以使用TextView 的属性 示例

android之声音管理器AudioManager的使用

Android声音管理AudioManager使用 手机都有声音模式,声音、静音还有震动,甚至震动加声音兼备,这些都是手机的基本功能。在Android手机中,我们同样可以通过Android的SDK提供的声音管理接口来管理手机声音模式以及调整声音大小,这就是Android中AudioManager的使用。 以下分别是AudioManager设置声音模式和调整声音大小的方法。 如何获取声音管理器: AudioManager audioManager = (AudioManager) this.getSystemService(AUDIO_SERVICE); 里面主要的方法: A、设置声音模式 //声音模式 AudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL); //静音模式 AudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);

//震动模式 AudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE); B、调整声音大小 //减少声音音量 AudioManager.adjustVolume(AudioManager.ADJUST_LOWER, 0); //调大声音音量 AudioManager.adjustVolume(AudioManager.ADJUST_RAISE, 0); getMode()获取音频模式 getRingerMode()获取铃声震动模式 ---------------------------------------------------------------- 这里如果使用了和手机震动有关的模式,记得添加权限。 android.permission.VIBRATE哦! 参考:https://www.sodocs.net/doc/b42334975.html,/blog/1125304

android常用控件大全

android常用控件大全 在Android中使用各种控件(View) DatePicker-日期选择控件 TimePicker-时间选择控件 ToggleButton-双状态按钮控件 EditText-可编辑文本控件 ProgressBar-进度条控件 SeekBar-可拖动的进度条控件 AutoCompleteTextView-支持自动完成功能的可编辑文本控件 MultiAutoCompleteTextView-支持自动完成功能的可编辑文本控件,允许输入多值(多值之间会自动地用指定的分隔符分开) ZoomControls-放大/缩小按钮控件 Include-整合控件 VideoView-视频播放控件 WebView-浏览器控件 RatingBar-评分控件 Tab-选项卡控件 Spinner-下拉框控件 Chronometer-计时器控件 ScrollView-滚动条控件 在Android中使用的Layout FrameLayout:里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角 LinearLayout:里面可以放多个控件,但是一行只能放一个控件

TableLayout:这个要和TableRow配合使用,很像html里面的table AbsoluteLayout:里面可以放多个控件,并且可以自己定义控件的x,y的位置 RelativeLayout:里面可以放多个控件,不过控件的位置都是相对位置 (Android界面布局好像还可以直接引用一些view,如ScrollView等) 常用控件: 1,EditText 主要函数:setText/getText设置/获取文本内容,setHint设置缺省显示内容; 2,RadioGroup,RadioButton RadioButton的isChecked()判断是否被选中 获取选中RadioButon的ID:设置 RadioGroup.setOnCheckedChangeListener方法 publiconCheckedChanged(RadioGroupgroup,intcheckedId)//checkedId 是选中RadioButton的ID 3,CheckBox isChecked()判断是否被选中 setOnCheckedChangeListener方法监视选中状态改变情况 4,Spinner a,显示数据 1),硬编码加载 通过setAdapter方法设置类型为 ArrayAdapter(Contextcontext,inttextViewResId,String[]objects) textViewResourceId:显示内容的ViewID默认设置为 https://www.sodocs.net/doc/b42334975.html,yout.simple_spinner_item

8CH音量控制

8-CHANNEL ELECTRONIC VOLUME WITH INPUT SELECTOR The NJW1298 is a 8-channel electronic volume with Input Selector. It includes 13-in 4-out stereo audio selector , REC Output and Multi-channel inputs. The NJW1298performs low noise and low distortion characteristics with resistance ladder circuit. All of functions are controlled via three-wired serial bus. Selectable 2-Chip address is available for using two chips on same serial bus line. The NJW1298 is suitable for multi-channel audio system, such as AV amplifier, DVD receiver, and others. Operating Voltage ±4.5 to ±7.5V 3-Wired Serial Control Chip Address Select Function 13-input 4-output stereo selector Multi-Channel input (8ch x 2) Input Selector Gain Control Gain : 0 to -21dB / 3dB step Volume +31.5 to –95dB / 0.5dB step, Mute SWch, Cch, LS/RSch output addition to L/R ch output LB/RBch output addition to LS/RS ch output Zero Cross Detection Bi-CMOS T echnology Package Outline QFP100-U1 NJW1298FU1 E C A E C C R E C A R E C C E C B R E C B

基于android平台的音乐播放器的设计与实现

嵌入式系统综合设计说明书 题 目:基于Android 的音乐播放器设计与实现 姓 名: 学 院:信息工程学院 班 级: 指导教师: 2012 年9 月24 日

摘要 Android是一种以Linux为基础的开放源代码操作系统,本文就android平台下设计和实现音乐播放器,利用java语言和Eclipse编程工具实现。通过设计能够实现音乐的播放、暂停、上一曲、下一曲、音乐列表、声音控制、帮助菜单等功能,通过对基于android平台下的播放器的设计,了解音乐播放器的设计的原理和实现的相关技术,掌握了android编程思想以及基本的应用组件,对以后从事android开发有很大的帮助。 关键词:android;音乐播放器;嵌入式;java

Abstract Android is a Linux-based open-source operating system, this article on the android platform design and realization of the music player, the use of the Java language and the Eclipse programming tools. Can be achieved through the design of the music playback, pause, previous song, next song, music list, sound control, the Help menu and other functions through the principle player in android platform-based design, and to understand the design of the music player realization of the related technology, to master the android programming ideas, as well as basic application components, great help later in the android development. Keywords: android; music player; embedded; java

音量控制器配置方案

音量控制器配置方案 1.音量控制器:控制该区域的广播放音时的声压,一般通过电阻或变压器分压式来实现;一般音量控制器有三种。 一、背景音乐音量控制器,它是二线制的,不需要消防广播的地方使用; 二、带消防广播强切的音量控制器(而这种带强切的音量控制器按它的强切方式分三线制与四线制);何为强切,当区域使用都将此音量控制器的音量调节到很少,甚至在关闭,当有紧急通知或消防时,控制机房通过发出一个紧急控制信号送到音量控制器上,强迫音量控制器进入广播,不受音量控制器的状态影响,进入广播状态。 三、选台音量控制器,顾名思义该音量控制器在可以控制音量的同时也可以选择不同的音乐,它也分消防与不需要消防强切二种,而这种选台音量控制器只能使用四线制方式进行强切。 1)、二线制音量控制器:不需要消防广播的区域则可以使用二线制音量控制器。机房到音量控制器是二芯广播线,音量控制器到喇叭也是二芯广播线,连接示意图如下: 2)、三线制强切音量控制器:需要消防广播的区域则可以使用三线制音量控制器。机房到音量控制器是三芯广播线(一根是公共线COM,一根是背景广播信号线N,一根是紧急广播信号线R),音量控制器到喇叭也是二芯广播线,中讯的PA系列功放与PA-B系列

功放可以直接三线输出,而中讯智能分区矩阵器PAS-316也是三线输出的,连接示意图如下:(注,三线制强切音量控制器比四线制的音量控制器稳定性要好。且布线也少) 3)、四线制强切音量控制器:需要消防广播的区域则可以使用四线制音量控制器。机房到音量控制器是二芯广播线(一根是公共线COM,一根是背景广播信号线)和二芯控制信号线(紧急控制信号24V),音量控制器到喇叭也是二芯广播线,中讯的PA系列功放可以直接四线输出,连接示意图如下:

实验二 android基本控件实验

实验二 android基本控件实验 【目的】 熟悉Android常用控件的基本操作,掌握它们的基本使用方法。了解控件之间的构成关系,熟悉适配器的使用原理。 【要求】 1、了解控件的继承关系; 2、掌握适配器的使用; 3、掌握信息提示的实现机制; 4、实现基本界面。 【原理】 1.控件类之间的关系 android.view.View类(视图类)呈现了最基本的UI构造块。View类是Android中的一个超类,几乎包含了所有的屏幕类型,主要负责绘制和事件处理。 Android中控件类的扩展结构如图所示。 View有众多的扩展者,它们大部分是在android.widget包中,这些继承者实际上就是Android 系统中的“控件”。View实际上就是各个控件的基类,创建交互式的图形用户界面的基础。View的直接继承者包括文本视图(TextView)、图像视图(ImageView)、进度条(ProgressBar)等。它们各自又有众多的继承者。每个控件除了继承父类功能之外,一般还具有自己的公有 方法、保护方法、XML属性等。 在Android中使用各种控件的一般情况是在布局文件中可以实现UI的外观,然后在Java文件中实现对各种控件的控制动作。控件类的名称也是它们在布局文件XML中使用的标签名称。

2.控件通用行为和属性 View是Android中所有控件类的基类,因此View中一些内容是所有控件类都具有的通用行为和属性。 提示:由于Java语言不支持多重继承,因此Android控件不可能以基本功能的“排列组合”的方式实现。在这种情况下,为了实现功能的复用,基类的功能往往做得较强,作为控件的祖先类,View所实现的功能也是最多的。 控件类经常在布局文件中使用,因此其可以使用XML属性(XMLAttributes),和Java代码经常具有对应关系。 View作为各种控件的基类,其XML属性所有控件通用,XML属性及其对应的方法如表1所示。 表1 View中的XML属性及其对应的方法 其中,android:id表示控件的标识,通常需要在布局文件中指定这个属性。View中与控件标识相关的几个方法如下所示: public int getId() // 获得控件的id(int类型)

Android audioManager解决MediaPlayer AudioTrack 调节音量问题

在听筒模式下 am.setSpeakerphoneOn(false); setV olumeControlStream(AudioManager.STREAM_VOICE_CALL); am.setMode(AudioManager.MODE_IN_CALL); 我用Mediaplayer AudioTrack调节音量总是失败 at.setStereoV olume(vol, vol); player.setV olume(vol,vol); 后来决定用AudioManager来调节音量 AudioManager可以修改系统Android系统的音量 下面介绍几个AudioManager的几个音量调整方面的方法. 首先是得到AudioManager实例: AudioManager am=(AudioManager)getSystemService(Context.AUDIO_SERVICE); 调整音量方法有两种,一种是渐进式,即像手动按音量键一样,一步一步增加或减少,另一种是直接设置音量值. 1、渐进式 public void adjustStreamV olume (int streamType, int direction, int flags) am.adjustStreamV olume (AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI); 解释一下三个参数 第一个streamType是需要调整音量的类型,这里设的是媒体音量,可以是: STREAM_ALARM 警报 STREAM_MUSIC 音乐回放即媒体音量 STREAM_NOTIFICA TION 窗口顶部状态栏Notification, STREAM_RING 铃声 STREAM_SYSTEM 系统 STREAM_VOICE_CALL 通话 STREAM_DTMF 双音多频,不是很明白什么东西 第二个direction,是调整的方向,增加或减少,可以是: ADJUST_LOWER 降低音量 ADJUST_RAISE 升高音量 ADJUST_SAME 保持不变,这个主要用于向用户展示当前的音量 第三个flags是一些附加参数,只介绍两个常用的 FLAG_PLAY_SOUND 调整音量时播放声音 FLAG_SHOW_UI 调整时显示音量条,就是按音量键出现的那个 2、直接设置音量值的方法: public void setStreamV olume (int streamType, int index, int flags) am.setStreamV olume(AudioManager.STREAM_MUSIC, am.getStreamMaxV olume(AudioManager.STREAM_MUSIC), AudioManager.FLAG_PLAY_SOUND);

基于Android音乐播放器的设计与实现

滨江学院《移动通信程序设计》 课程设计 题目基于Android系统的音乐播放器 院系滨江学院 专业计算机科学与技术 学生姓名王兵 学号 二O一四年六月十日

摘要 随着生活水平的提高,娱乐已成为非常主流的话题,人们不仅需要通过音乐陶冶情操,而且越来越多的人倾向于使用音乐、视频等娱乐和放松自己,这大大促进了媒体软件的发展.本文旨在介绍研究常用数字音频编码和解码的相关知识,并结合VS2008编写多功能音乐播放器,了解音乐播放器功能的实现,掌握开发音乐播放器所需的相关知识,采用了面向对象软件工程方法,其开发主要包括应用程序界面设计和后台代码运行两个方面,实现了多功能音乐播放器在计算机上的应用,可以在很大程度上满足用户的需求.该系统主要具备:音乐播放控制、音乐文件控制、音量控制、下载控制、歌词控制、进度控制、音乐剪辑等功能模块。 关键字:音乐播放器,音频编码格式,TechSmith Screen Capture Codec,FFmpeg ,C#,Visual Studio 2008 目录 1 前言........................................................... 选题的背景及意义................................................ 网络流行音乐播放器简介.......................................... 2系统相关技术及开发平台介绍 ..................................... 开发应用技术介绍................................................ 开发及运行坏境.................................................. 3 系统的分析..................................................... 可行性分析...................................................... 常见的几种音频格式及其特点...................................... 需求分析........................................................ 4系统设计....................................................... 系统概要设计.................................................... 系统功能设计及描述.............................................. 5系统功能实现................................................... 歌曲添加模块.................................................... 歌曲列表模块.................................................... 播放控制模块....................................................

MFC中控制系统音量类的实现

1.在vc++ 6.0新建VolumeCtrl类 2.VolumeCtrl.h文件 // VolumeCtrl.h: interface for the CVolumeCtrl class. // ////////////////////////////////////////////////////////////////////// #include "windows.h" #include #if !defined(AFX_VOLUMECTRL_H__B8EA9E68_F433_4713_88C6_36B12F8D2A01__INC LUDED_) #define AFX_VOLUMECTRL_H__B8EA9E68_F433_4713_88C6_36B12F8D2A01__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 classCVolumeCtrl { public: CVolumeCtrl(CWnd *pParent); virtual ~CVolumeCtrl(); public: BOOL GetVolume(DWORD &dwVol);//获取音量 BOOL SetVoleme(DWORD dwVol);//设置音量 BOOL amdGetVolumeControl();//得到音量控制设备句柄 BOOL amdInitialize();//初始化 BOOL amdUnInitialize(); private: CWnd * m_hParent; //父窗口指针 UINT m_nNumMixers; //混音设备个数 HMIXER m_hMixer; //混音设备句柄 MIXERCAPS m_mxcaps; CString m_strDsLineName,m_strVolumeControlName; DWORD m_dwMinimum,m_dwMaximum; DWORD m_dwVolumeControlID; //音量控制器ID }; #endif // !defined(AFX_VOLUMECTRL_H__B8EA9E68_F433_4713_88C6_36B12F8D2A01__INCLUDE D_) 3.VolumeCtrl.cpp文件

【精编范文】修改安卓系统默认音量-实用word文档 (8页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除! == 本文为word格式,下载后可方便编辑和修改! == 修改安卓系统默认音量 篇一:安卓系统开关机声音及动画设置 安卓手机开机关机动画与声音的修改 可以进入手机的声音文件夹/system/media/audio操作。可以加入mp3铃声,也可以移除里面的声音文件,以节省空间。 /media /audio /alarms 闹钟 /media /audio /notificati** 短信 /media /audio/ ringtones??来电 /media /audio/ ui??系统提示音 也可以更换或删除/system/media下的开关机动画、音乐。 bootanimation.zip??开机动画 Bootsound.mp3? ?? ?开机音乐 shutanimation.zip??关机动画 Shutsound.mp3? ?? ?关机音乐 篇二:三星安卓智能手机声音(音量)修改代码详解 打开拔号键盘输入 *#*#197328640#*#* 进入工程模式 [1] Debug Screen [2] Version Information [3] UMTS RF NV [4] GSM RF NV

[5] Audio [6] COMMON [7] QXDM LOGGING 选 5 1] HANDSET [1]HANDSET听筒 [2] HEADSET [2]HEADSET(耳机) [3] SPEAKER[3]SPEAKER(扬声器) [4] BT HEADSET[4]BT HEADSET:蓝芽耳机 [5] 3POLE HS[5]3POLE HS (不知道) [6] REBUILD ALL [6]REBUILD ALL:所有重建 [7]BTNSECOFF [7]BTNSECOFF不知道) [8] MAX8899 AMP [8]MAX8899 AMP/max8899放大器选 1 [1] TX value [2] RX value [3] NS mode l[4] EC mode [5] Diamond Solution [6] REBUILD Handset value [7] ASR/Not ASR Mode ** Handset Rx Vol 聽筒接收音量 选 2 [1] Rx Codec/Volume [2] RX AGC

android 控件常用属性

第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素的下边缘 android:layout_alignParentLeft 贴紧父元素的左边缘 android:layout_alignParentRight 贴紧父元素的右边缘 android:layout_alignParentTop 贴紧父元素的上边缘 android:layout_alignWithParentIfMissing 如果对应的兄弟元素找不到的话就以父元素做参照物 第二类:属性值必须为id的引用名“@id/id-name” android:layout_below 在某元素的下方 android:layout_above 在某元素的的上方 android:layout_toLeftOf 在某元素的左边 android:layout_toRightOf 在某元素的右边 android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐 android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐 android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐 android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐 第三类:属性值为具体的像素值,如30dip,40px android:layout_marginBottom 离某元素底边缘的距离 android:layout_marginLeft 离某元素左边缘的距离 android:layout_marginRight 离某元素右边缘的距离 android:layout_marginTop 离某元素上边缘的距离 EditText的android:hint 设置EditText为空时输入框内的提示信息。

智能音量控制方法及电视机与相关技术

本技术提供了一种智能播放方法,包括:对电视机的工作环境的音量进行检测,获取所述电视机的工作环境音量;根据所述工作环境音量,获取与所述工作环境音量对应的电视机播放音量;根据所述电视机播放音量对所述电视机的工作模式进行设置,以使所述电视机按照所述电视机播放音量进行播放。使用本技术,可以根据电视机的工作环境自适应地进行节目的播放,既减少了用户的手动操作,也能够更合理地利用电力资源。 技术要求 1.一种智能播放方法,其特征在于,包括: 对电视机的工作环境的音量进行检测,获取所述电视机的工作环境音量; 根据所述工作环境音量,获取与所述工作环境音量对应的电视机播放音量; 根据所述电视机播放音量对所述电视机的工作模式进行设置,以使所述电视机按照所述 电视机播放音量进行播放。 2.如权利要求1所述的方法,其特征在于,所述对对电视机的工作环境的音量进行检测,获取所述电视机的工作环境音量包括: 使用噪声传感器获取所述电视机的工作环境音量。

3.如权利要求1所述的方法,其特征在于,所述对对电视机的工作环境的音量进行检测,获取所述电视机的工作环境音量包括: 使用麦克风采集环境中的各种声音; 将所述麦克风采集的声音进行模数转换,获取电声音信号; 检测所述电声音信号的能量大小,通过所述能量大小来确定所述电视机的工作环境音量。 4.如权利要求3所述的方法,其特征在于,所述检测所述电声音信号的能量大小,通过所述能量大小来确定所述电视机的工作环境音量包括: 建立与云端服务器的通讯连接; 通过所述通讯连接将所述电声音信号发送给所述云端服务器,以使所述云端服务器检测所述电声音信号的能量大小并确定所述电视机的工作环境音量; 接收所述云端服务器发送的所述电视机的工作环境音量。 5.如权利要求1至4任一所述的方法,其特征在于,所述根据所述工作环境音量,获取与所述工作环境音量对应的电视机播放音量包括: 从本地存储的工作环境音量与电视机播放音量的对应表中查找所述工作环境的工作环境音量对应的电视机播放音量;或者 通过与云端服务器交互获得所述工作环境的工作环境音量对应的电视机播放音量;或者 从本地存储的工作环境音量与电视机播放音量的对应表中查找所述工作环境音量对应的电视机播放音量;若从所述对应表中没有查找到与所述工作环境音量对应的电视机播放音量,通过与云端服务器交互获得所述工作环境音量对应的电视机播放音量。 6.一种电视机,其特征在于,包括: 检测单元,用于对电视机的工作环境的音量进行检测,获取所述电视机的工作环境音量;

相关主题