一种使用MediaPlayer,使用这种方式通常是播放比较长的音频,如游戏中的背景音乐。

代码如下:

  1. private MediaPlayer mPlayer = null;
  2. mPlayer = MediaPlayer.create(this,R.raw.music);
  3. mPlayer.setLooping(true);
  4. mPlayer.start();

另一种是使用SoundPool进行播放,通常都是播放短音效,比如枪声或者水滴声。

首先需要设置左声道和右声道的音量:

  1. //实例化AudioManager对象,控制声音
  2. private AudioManager am =null;
  3. //最大音量
  4. float audioMaxVolumn;
  5. //当前音量
  6. float audioCurrentVolumn;
  7. float volumnRatio;
  1. //实例化AudioManager对象,控制声音
  2. am = (AudioManager)this.getSystemService(this.AUDIO_SERVICE);
  3. //最大音量
  4. audioMaxVolumn = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
  5. //当前音量
  6. audioCurrentVolumn = am.getStreamVolume(AudioManager.STREAM_MUSIC);
  7. volumnRatio = audioCurrentVolumn/audioMaxVolumn;
  1. //然后就是需要初始化SoundPool,并且把音频放入HashMap中
  1. //音效播放池
  2. private SoundPool soundPool = new SoundPool(2,AudioManager.STREAM_MUSIC,0);
  3. //存放音效的HashMap
  4. private Map<Integer,Integer> map = new HashMap<Integer,Integer>();
  1. map.put(0,soundPool.load(this,R.raw.right,1));
  2. map.put(1, soundPool.load(this,R.raw.wrong,1));
  1. //最后就是进行播放
    1. soundPool.play(
    2. map.get(key),//声音资源
    3. volumnRatio,//左声道
    4. volumnRatio,//右声道
    5. 1,//优先级
    6. 0,//循环次数,0是不循环,-1是一直循环
    7. 1);//回放速度,0.5~2.0之间,1为正常速度

Android播放音频的两种方式的更多相关文章

  1. 【Android】播放音频的几种方式介绍

    接下来笔者介绍一下Android中播放音频的几种方式,android.media包下面包含了Android开发中媒体类,当然笔者不会依次去介绍,下面介绍几个音频播放中常用的类: 1.使用MediaPl ...

  2. Android请求服务器的两种方式--post, get的区别

    android中用get和post方式向服务器提交请求_疯狂之桥_新浪博客http://blog.sina.com.cn/s/blog_a46817ff01017yxt.html Android提交数 ...

  3. Android录制音频的三种方式

    对于录制音频,Android系统就都自带了一个小小的应用,可是使用起来可能不是特别的灵活.所以有提供了另外的俩种. 下边来介绍下这三种录制的方式; 1.通过Intent调用系统的录音器功能,然后在录制 ...

  4. Android多activity启动两种方式浅谈

    (1)第一种方式就是常见的通过intent来启动,被启动的activity需要在mainfest里面注册activity (2)第二种就是通过setContentView来启动,这里activity不 ...

  5. android 启动 service 的两种方式,及什么时候用哪个 android 什么时候用bindService

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha android  什么时候用bindService ============ 启动方式有 ...

  6. Android启动Activity的两种方式与四种启动模式

    1.在一个Activity中调用startActivity()方法 2.在一个Activity中调用startActivityRequest()方法. 重写onActivityResult方法,用来接 ...

  7. android 中退出程序的两种方式

    转自:http://blog.sina.com.cn/s/blog_5da93c8f0100t76l.html 思考:如何安全的退出程序? finish是Activity的类,仅仅针对Activity ...

  8. [转载]Android 生成keystore,两种方式

    Refer : http://blog.csdn.net/ms03001620/article/details/8490314 一.eclipse 中生成android keystore 建立任意一个 ...

  9. Android 生成keystore,两种方式

    一.eclipse 中生成android keystore 建立任意一个android项目(例如:AntForAndroid) 右键AntForAndroid根目录弹出菜单->Android T ...

随机推荐

  1. Java当中的运算符

    一.关于Java当中运算符的分类 算术运算符:+,-,*,/.%(是取余运算符读莫).++.-- 关系运算符:>.<.>=.<=.!=(不等).==(等于) 布尔运算符:!(非 ...

  2. REST深入浅出

    不知你是否意识到,围绕着什么才是实现异构的应用到应用通信的“正确”方式,一场争论正进行的如火如荼:虽然当前主流的方式明显地集中在基于SOAP.WSDL和WS-*规范的Web Services领域,但也 ...

  3. android离线下载的相关知识

    离线下载的功能点如下:      1.下载管理(开始.取消下载).      2.网络判断(Wi-Fi,3G).      3.独立进程.      4.定时和手机催醒.      5.自启动. 选择 ...

  4. border和outline区别

    border和outline区别: border支持box-sizing: border-box,当有边距时,是新增了边框后在按照以前的边距处理 outline不支持box-sizing: borde ...

  5. php+js 瀑布流源码

    官方网站:更多源码 新浪微博:QQ公众号 QQ:各种源码 602902342 大牛技术群: 452207697 下载地址:http://pan.baidu.com/s/1bnNipI3 密码: h93 ...

  6. java下载文件

    /** * * @param file * @param response */ private void downLoad(File file, HttpServletResponse respon ...

  7. linux上 安装并 运行opencv

    我是在树莓派上安装的. 1.先安装依赖项 OpenCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake. sudo apt-get install build-es ...

  8. 神经网络作业: NN LEARNING Coursera Machine Learning(Andrew Ng) WEEK 5

    在WEEK 5中,作业要求完成通过神经网络(NN)实现多分类的逻辑回归(MULTI-CLASS LOGISTIC REGRESSION)的监督学习(SUOERVISED LEARNING)来识别阿拉伯 ...

  9. develop process

    -f Option is dangerous, make sure that only do this on your own branch # When you starting coding at ...

  10. js动态给table添加行(tr)

    html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> < ...