美文网首页
AudioManager与MediaPlayer

AudioManager与MediaPlayer

作者: VigoLin | 来源:发表于2017-07-04 11:57 被阅读619次

    AudioManager即音频管理器,用于管理android系统各种音频类型(包括系统声音,通话,铃声,音乐,闹铃)的音量设置。还可以使用它来设置“耳机插入时”的广播接收器(action:android.intent.action.MEDIA_BUTTON)。

    MediaPlayer用于播放音频,android api中提供了该工具,播放过程中可以控制音频的各种状态,具体使用比较简单。

    一.对于AudioManager的使用

    1.首先获取AudioManager实例,AudioManager audioManager=(AudioManager)getSystemService(Service.AUDIO_SERVICE);

    2.AudioManager中的成员方法

    a、adjustStreamVolume(int streamType,int direction,int flags):

    参数介绍:streamType指的是音频类型,其中AudioManager中提供了各种音频类型STREAM_VOICE_CALL(电话)、STREAM_SYSTEM(系统)、SYSTEM_RING(铃声)、STREAM_MUSIC(音乐)、STREAM_ALARM(闹铃)、STREAM_NOTIFICATION(系统提示声)、STREAM_DTMF(DTMF音调)。

    direction指的是调整方向(即调整音量大小),ADJUST_RAISE(调高),ADJUST_LOWER(调低),ADJUST_SAME(维持原来)。

    flags指的是可选标志位,一般选择使用FLAG_SHOW_UI(表示显示音量调节ui)。

    setStreamMute(int streamType,boolean state):表示让指定的音频类型是否静音,其中参数streamType同上,state为布尔值类型(true表示静音,false则相反)。

    b、对应的get方法:getStreamVolume(int streamType)

    c、setMicrophoneMute(boolean state):表示是否指定麦克风静音。

    d、setRingerMode(int ringerMode):指定电话铃声模式,参数可选:RINGER_MODE_NORMAL(正常的手机铃声)、RINGER_MODE_SILENT(静音)、RINGER_MODE_VIBRATE(振动)

    e、对应的get方法:getRingerMode()返回值同d的参数介绍

    f、getStreamMaxVolume(int streamType):获取指定的音频类型最大音量

    二、MediaPlayer的使用

    1、获取MediaPlayer实例

    MediaPlayer mediaPlayer=new MediaPlayer();

    或者MediaPlayer mediaPlayer=MediaPlayer.create(Context context,int resourceId)

    2、MediaPlayer的成员方法

    a、setDataResource():设置音频资源

    b、prepare():在播放前会调用该方法,播放前的准备工作

    c、start():开始播放

    d、pause():暂停

    e、reset():重置

    f、seekTo():从指定的位置开始播放

    g、stop():停止

    h、isPlaying():判断是否正在播放

    i、release():播放完释放音乐资源

    相关文章

      网友评论

          本文标题:AudioManager与MediaPlayer

          本文链接:https://www.haomeiwen.com/subject/pxbthxtx.html