首页 > 系统 > Android > 正文

Android Receiver(听筒模式和扬声器模式,铃音模式)

2019-11-09 15:40:02
字体:
来源:转载
供稿:网友

听筒播放Mp3 

下载Demohttp://download.csdn.net/detail/wds1181977/8114967

切换为听筒模式声音由听筒发出

[java] view plain copy 在CODE上查看代码片AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);  am.setMode(AudioManager.MODE_IN_CALL);  

切换为其他模式

[java] view%20plain copy am.setMode(AudioManager.MODE_NORMAL);//正常模式,即在没有铃音与电话的情况  am.setMode(AudioManager.MODE_RINGTONE);//铃响模式  am.setMode(AudioManager.MODE_IN_CALL);//接通电话模式   am.setMode(AudioManager.MODE_IN_COMMUNICATION);//通话模式。  获取当前状态

[java] view%20plain copy mAudioMode = am.getMode()  

判断音频路由模式

[java] view%20plain copy am. isSpeakerphoneOn(); //检查喇叭扩音器是否开着。若喇叭扩音器开着,返回true  am. isBluetoothScoOn();/检查通信是否使用蓝牙SCO。  am. isBluetoothA2dpOn(); //检查A2DP音频路由到蓝牙耳机是否打开 音频到/从蓝牙耳机,返回ture  am. isWiredHeadsetOn();  //  检查音频路由到有线耳机是否开着。若音频被路由到/从有线耳机,返回true  am. isMusicActive();//检查是否有音乐是活动的  权限

[java] view%20plain copy <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />  

设置喇叭扩音器打开或关闭。这个方法只能用于代替音频设置的平台范围管理应用程序或主要电话应用程序。参数on%20为true打开喇叭扩音器;为false关闭喇叭扩音器。

[java] view%20plain copy public void setSpeakerphoneOn (boolean on)  铃声模式%20 %20 %20 %20 %20   %20 %20 %20 %20  获取当前铃音模式

getRingerMode()

设置当前模式

[java] view%20plain copy public void setRingerMode (int ringerMode)  [java] view%20plain copy am.setRingerMode(RINGER_MODE_NORMAL);//铃音正常模式  am.setRingerMode(RINGER_MODE_SILENT);//铃音静音模式 静音且不会振动  am.setRingerMode(RINGER_MODE_VIBRATE);//铃音震动模式 会静音且会振动  获取音量类型和大小

[java] view%20plain copy //通话音量  max 最大音量  current当前音量    int max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL );     int current = mAudioManager.getStreamVolume(AudioManager.STREAM_VOICE_CALL );     //系统音量    int max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_SYSTEM );     current = mAudioManager.getStreamVolume(AudioManager.STREAM_SYSTEM );     //铃声音量    max = mAudioManager.getStreamMaxVolume( AudioManager.STREAM_RING);     current = mAudioManager.getStreamVolume(AudioManager.STREAM_RING );     //音乐音量    max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC );     current = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC );       //提示声音音量    max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM );     current = mAudioManager.getStreamVolume(AudioManager.STREAM_ALARM );   设置音量大小

[java] view%20plain copy          int maxVolume = am.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL);//获取当前通话最大音量           am.setStreamVolume(AudioManager.STREAM_VOICE_CALL, maxVolume,AudioManager.USE_DEFAULT_STREAM_TYPE);}    调出系统音量控制%20 

[java] view%20plain copy     /**      *  参数1:声音类型,      *       可取为STREAM_VOICE_CALL(通话)、      *             STREAM_SYSTEM(系统声音)、      *             STREAM_RING(铃声)、      *             STREAM_MUSIC(音乐)、      *             STREAM_ALARM(闹铃声)      *   参数2:调整音量的方向,可取      *                ADJUST_LOWER(降低)、      *                ADJUST_RAISE(升高)、                                                   *                ADJUST_SAME      *   参数3:可选的标志位     * @param position     */  adjustStreamVolume(int streamType, int direction, intflags)  

[java] view%20plain copy 派生到我的代码片//降低音量,调出系统音量控制    if(flag == 0){      mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER,                                AudioManager.FX_FOCUS_NAVIGATION_UP);    }    //增加音量,调出系统音量控制    else if(flag == 1){      mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_RAISE,                                AudioManager.FX_FOCUS_NAVIGATION_UP);    }    
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表