一种使用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. 局域网指定 IP 地址后无法上网的问题

    子网掩码.默认网关.DNS 与局域网设置有关,建议指定前先 运行 cmd -> ipconfig /all 查看一下自动获取的信息. 另外留意指定IP 后需打开高级设置 -> WINS,勾 ...

  2. DataGrid( 数据表格) 组件[4]

    本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...

  3. 服务器上开启远程sqlserver小细节

    之前按网络上过程配置完成后,连接都很正常.今天看的时候,突然就连接不上了.弄了半天,终于知道问题在哪里了.

  4. AngularJs练习Demo13Provider_factory

    @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport&quo ...

  5. progit-zh(Git中文文档)

    发现好像在墙外,还是下载下来看会快点 链接: http://pan.baidu.com/s/1o8EiDMq 密码: vzf9

  6. PS 色彩的色相谱

    7- 色彩的色相谱 在这个环中,位于180度夹角的两种颜色(也就是圆的某条直径两端的颜色),称为反转色,又称为互补色.互补的两种颜色之间是此消彼长的关系,小框往蓝色移动的同时就会远离黄色, 黄色=白色 ...

  7. PHP面向对象的构造方法与析构方法

    构造方法与析构方法是对象中的两个特殊方法,它们都与对象的生命周期有关.构造方法时对象创建完成后第一个被对象自动调用的方法,这是我们在对象中使用构造方法的原因.而析构方法时对象在销毁之前最后一个被对象自 ...

  8. IIS下 Yii Url重写

    下载URL重写组件 http://www.microsoft.com/zh-cn/download/details.aspx?id=7435 导入官方提供的.htaccess文件 Options +F ...

  9. python之6-5偏函数

    functools.partial 偏函数的作用是简化操作,简化什么操作呢?就是当我们有一个已知函数A,且这个函数包含有某个或多个参数A1,通过固定这个参数A1,我们可以自己编写一个新函数B,来减少代 ...

  10. Android学习笔记--AlertDialog应用

    1. 自定义实现带图标的TextView IconTextView.java package com.evor.andtest; import android.content.Context; imp ...