zoukankan      html  css  js  c++  java
  • android 控制手机的体积的大小 切换音效模式

    (1)项目介绍

       于android API的AudioManager于,它提供了一种方法来调整电话音量。

    audioMa.adjustVolume(AudioManager.ADJUST_LOWER, 0);
    audioMa.adjustVolume(AudioManager.ADJUST_RAISE, 0);
    也能够调节手机声音的模式为震动或者静音

    audioMa.setRingerMode(AudioManager.RINGER_MODE_NORMAL);

    audioMa.setRingerMode(AudioManager.RINGER_MODE_SILENT);

    audioMa.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);

    (2)布局文件

    <?

    xml version="1.0" encoding="utf-8"?> <AbsoluteLayout android:id="@+id/layout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/white" xmlns:android="http://schemas.android.com/apk/res/android" > <TextView android:id="@+id/myText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/str_text1" android:textSize="16sp" android:textColor="@drawable/black" android:layout_x="20px" android:layout_y="42px" > </TextView> <ImageView android:id="@+id/myImage" android:layout_width="48px" android:layout_height="48px" android:layout_x="110px" android:layout_y="32px" > </ImageView> <TextView android:id="@+id/myText2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/str_text2" android:textSize="16sp" android:textColor="@drawable/black" android:layout_x="20px" android:layout_y="102px" > </TextView> <ProgressBar android:id="@+id/myProgress" style="?android:attr/progressBarStyleHorizontal" android:layout_width="160dip" android:layout_height="wrap_content" android:max="7" android:progress="5" android:layout_x="110px" android:layout_y="102px" > </ProgressBar> <ImageButton android:id="@+id/downButton" android:layout_width="100px" android:layout_height="100px" android:layout_x="50px" android:layout_y="162px" android:src="@drawable/down" > </ImageButton> <ImageButton android:id="@+id/upButton" android:layout_width="100px" android:layout_height="100px" android:layout_x="150px" android:layout_y="162px" android:src="@drawable/up" > </ImageButton> <ImageButton android:id="@+id/normalButton" android:layout_width="60px" android:layout_height="60px" android:layout_x="50px" android:layout_y="272px" android:src="@drawable/normal" > </ImageButton> <ImageButton android:id="@+id/muteButton" android:layout_width="60px" android:layout_height="60px" android:layout_x="120px" android:layout_y="272px" android:src="@drawable/mute" > </ImageButton> <ImageButton android:id="@+id/vibrateButton" android:layout_width="60px" android:layout_height="60px" android:layout_x="190px" android:layout_y="272px" android:src="@drawable/vibrate" > </ImageButton> </AbsoluteLayout>


    (3)代码:

    package com.liuzuyi.soundmode;
    
    import android.app.Activity;
    import android.content.Context;
    import android.media.AudioManager;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.ImageButton;
    import android.widget.ImageView;
    import android.widget.ProgressBar;
    
    public class MainActivity extends Activity {
    
    	 private ImageView myimage;
    	 private ImageButton downbutton;
    	 private ImageButton upbutton;
    	 private ImageButton normalbutton;
    	 private ImageButton mutebutton;
    	 private ImageButton vibratebutton;
    	 private ProgressBar myprogress;
    	 private AudioManager audioMa;
    	 private int volume; 
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		audioMa =(AudioManager)getSystemService(Context.AUDIO_SERVICE);
    		myimage = (ImageView)findViewById(R.id.myImage);
    		myprogress =(ProgressBar)findViewById(R.id.myProgress);
    		
    		downbutton =(ImageButton)findViewById(R.id.downButton);
    		upbutton =(ImageButton)findViewById(R.id.upButton);
    		normalbutton=(ImageButton)findViewById(R.id.normalButton);
    		mutebutton=(ImageButton)findViewById(R.id.muteButton);
    		vibratebutton=(ImageButton)findViewById(R.id.vibrateButton);
    		
    		volume =audioMa.getStreamVolume(AudioManager.STREAM_RING);
    		myprogress.setProgress(volume);
    		int mode =audioMa.getRingerMode();
    		if(mode == AudioManager.RINGER_MODE_NORMAL ){
    			myimage.setImageDrawable(getResources().getDrawable(R.drawable.normal));
    			
    		}
    		else if(mode == AudioManager.RINGER_MODE_SILENT){
    			myimage.setImageDrawable(getResources().getDrawable(R.drawable.mute));
    		}
    		else if(mode == AudioManager.RINGER_MODE_VIBRATE){
    			myimage.setImageDrawable(getResources().getDrawable(R.drawable.vibrate));
    		}
    		downbutton.setOnClickListener( new OnClickListener() {
    			public void onClick(View v) {
    				audioMa.adjustVolume(AudioManager.ADJUST_LOWER, 0);
    				volume = audioMa.getStreamVolume(AudioManager.STREAM_RING);
    				myprogress.setProgress(volume);
    				int mode =audioMa.getRingerMode();
    				if(mode == AudioManager.RINGER_MODE_NORMAL ){
    					myimage.setImageDrawable(getResources().getDrawable(R.drawable.normal));
    					
    				}
    				else if(mode == AudioManager.RINGER_MODE_SILENT){
    					myimage.setImageDrawable(getResources().getDrawable(R.drawable.mute));
    				}
    				else if(mode == AudioManager.RINGER_MODE_VIBRATE){
    					myimage.setImageDrawable(getResources().getDrawable(R.drawable.vibrate));
    				}	
    				
    			}
    		});
    		
    		upbutton.setOnClickListener( new OnClickListener() {
    			public void onClick(View v) {
    				audioMa.adjustVolume(AudioManager.ADJUST_RAISE, 0);
    				volume = audioMa.getStreamVolume(AudioManager.STREAM_RING);
    				myprogress.setProgress(volume);
    				int mode =audioMa.getRingerMode();
    				if(mode == AudioManager.RINGER_MODE_NORMAL ){
    					myimage.setImageDrawable(getResources().getDrawable(R.drawable.normal));
    					
    				}
    				else if(mode == AudioManager.RINGER_MODE_SILENT){
    					myimage.setImageDrawable(getResources().getDrawable(R.drawable.mute));
    				}
    				else if(mode == AudioManager.RINGER_MODE_VIBRATE){
    					myimage.setImageDrawable(getResources().getDrawable(R.drawable.vibrate));
    				}	
    				
    			}
    		});
    		normalbutton.setOnClickListener( new OnClickListener() {
    			public void onClick(View v) {
    				audioMa.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
    			    volume = audioMa.getStreamVolume(AudioManager.STREAM_RING);
    			    myprogress.setProgress(volume);
    				myimage.setImageDrawable(getResources().getDrawable(R.drawable.normal));
    			}
    		});
    		mutebutton.setOnClickListener( new OnClickListener() {
    			public void onClick(View v) {
    				audioMa.setRingerMode(AudioManager.RINGER_MODE_SILENT);
    			    volume = audioMa.getStreamVolume(AudioManager.STREAM_RING);
    			    myprogress.setProgress(volume);
    				myimage.setImageDrawable(getResources().getDrawable(R.drawable.mute));
    			}
    		});
    		vibratebutton.setOnClickListener( new OnClickListener() {
    			public void onClick(View v) {
    				audioMa.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
    			    volume = audioMa.getStreamVolume(AudioManager.STREAM_RING);
    			    myprogress.setProgress(volume);
    				myimage.setImageDrawable(getResources().getDrawable(R.drawable.vibrate));
    			}
    		});
    		
    	}
    	
    
    }
    


    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    [Python] 网络
    [c++] 命令
    [DB] 关系型数据库
    [win] cmd 常用命令
    [linux] Git基本概念&操作
    [SQL] 常用命令
    redis(二十四):Redis分布式锁以及实现(python)
    redis(二十三):Redis 集群(proxy 型)二
    redis(二十二):Redis 集群(proxy 型)一
    redis(二十一):Redis 架构模式实现(哨兵)
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4719023.html
Copyright © 2011-2022 走看看