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

代码如下:

private MediaPlayer mPlayer = null;

mPlayer = MediaPlayer.create(this,R.raw.music);

mPlayer.setLooping(true);

mPlayer.start();

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

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

//实例化AudioManager对象,控制声音

private AudioManager am =null;

//最大音量

float audioMaxVolumn;

//当前音量

float audioCurrentVolumn;

float volumnRatio;

//实例化AudioManager对象,控制声音

am = (AudioManager)this.getSystemService(this.AUDIO_SERVICE);

//最大音量

audioMaxVolumn = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);

//当前音量

audioCurrentVolumn = am.getStreamVolume(AudioManager.STREAM_MUSIC);

volumnRatio = audioCurrentVolumn/audioMaxVolumn;

//然后就是需要初始化SoundPool,并且把音频放入HashMap中

//音效播放池

private SoundPool soundPool = new SoundPool(2,AudioManager.STREAM_MUSIC,0);

//存放音效的HashMap

private Map map = new HashMap();

map.put(0,soundPool.load(this,R.raw.right,1));

map.put(1, soundPool.load(this,R.raw.wrong,1));

//最后就是进行播放

soundPool.play(

map.get(key),//声音资源

volumnRatio,//左声道

volumnRatio,//右声道

1,//优先级

0,//循环次数,0是不循环,-1是一直循环

1);//回放速度,0.5~2.0之间,1为正常速度

android怎么播放音频,Android播放音频的两种方式相关推荐

  1. Android中实现SQLite数据库CRUD操作的两种方式

    Android中实现SQLite数据库CRUD操作的两种方式 SQLite是一款轻量级的关系型数据库,具有运行速度.占用资源少的特点.通常只需要几百KB的内存就够了,因此特别适合在移动设备上使用.SQ ...

  2. android布局密码,Android中EditText显示明文与密码的两种方式

    效果图如下所述: 布局 xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="h ...

  3. linux耳机插拔检测,Android应用开发之耳机插拔处理两种方式

    本文将带你了解Android应用开发[RK3288][Android6.0] 耳机插拔处理两种方式,希望本文对大家学Android有所帮助. [RK3288][Android6.0]   耳机插拔处理 ...

  4. android获取ip方法,Android开发准确获取手机IP地址的两种方式

    最近看了好多网上获取IP地址的例子,发现好多都不完全准确,这里我写一下获取ip地址的两种方式. 比如微信支付,后台在做接口的时候,要求App端传入IP地址,我们需要判断是网络环境,WI-FI还是3G, ...

  5. Android中界面实现全屏显示的两种方式

    在开发android的应用当中,我们会遇到将一些界面设置为全屏显示的格式,有两种实现的方法.其一是在Java代码中实现,其二是在配置文件中实现. 1. 在Java代码中设置 super.onCreat ...

  6. Android之从网络上获取图片的两种方式讲解:thread+handle和AsyncTask方式

    从网络上获取图片是一个比较耗时的操作,放在主线程会导致阻塞主线程,响应超时,所以我们不能把它放在主线程里操作,必须放在一个子线程里,我打算采用两种方式去实现.1.采用thread去获取图片,获取到后通 ...

  7. android recocery模式,小米进入Recovery模式的两种方式

    刷机分为卡刷和线刷,卡刷的话必须得进入recovery模式,其中需要运用到某些按键的组合,刷机帮小编特意整理了小米进入recovery模式的方法,各位可以参考下: 小米如何进入Recovery的两种方 ...

  8. Unity3D两种方式播放视频

      Unity3D中播放游戏视频的方式有两种,第一种是在游戏对象中播放,就好比在游戏世界中创建一个Plane面对象,摄像机直直的照射在这个面上.第二种是在GUI层面上播放视频.播放视频其实和贴图非常相 ...

  9. Unity3D研究院之两种方式播放游戏视频

    今天突然想起之前做过的一个AR项目,更换识别图播放不同的视频.就想了解一下unity3d支持哪些音视频格式,就看到了雨凇大大这篇文章,总结得很详细,我就不上我的代码献丑了,把雨松大大的博客分享给大家吧 ...

  10. android 图片方法,分享实现Android图片选择的两种方式

    Android选择图片的两种方式: 第一种:单张选取 通过隐式启动activity,跳转到相册选择一张返回结果 关键代码如下: 发送请求: private static final int PICTU ...

最新文章

  1. 基于java 的websocket的聊天功能,一开始初始化websocket,执行打开连接之后就直接关闭连接了。...
  2. Zepto源码分析-zepto模块
  3. C语言入门之指针用法教程
  4. paypal创建订单后怎么获得id_5步创建Facebook商店(最新版教程)学习如何在Facebook上卖货...
  5. Vue cli3使用jQuery控件
  6. 雷鸟邮件查找所有星标邮件_雷鸟的4种轻量级电子邮件替代品
  7. android代码使用adb,如何使用adb在Android 11上触发BroadcastReceiver?
  8. 基于Serverless的端边云一体化媒体网络
  9. 如何使用SQL Server主数据服务替换硬编码的查找
  10. 用VMware GSX和W2K群集服务实现Exchange群集
  11. 190121每日一句
  12. 判定通视的计算法公式_测量学简答题(5篇范例)
  13. 3D打印机打印中途停止且显示挤出头温度过低
  14. 杏仁损伤检测器——基于CNN的图像分类
  15. JavaScript防流量劫持
  16. WORD插入图题注表题注添加图表目录
  17. 请根据微信登录界面设计测试用例
  18. matlab中根据信号和信噪比添加高斯白噪声(函数直接使用)
  19. PHp勾股定理,【中考备考】有关数学必考奥数题之勾股定理练习题 初二数学
  20. Facebook创始人:拒绝了10亿美元的CEO

热门文章

  1. 从2D到3D的目标检测综述
  2. ADPRL - 近似动态规划和强化学习 - Note 5 - Banach Fixed Point Theorem in Dynamic Programming
  3. 使用awk,sort和uniq从ATS访问日志中统计出异常链接域名的次数排名
  4. C++中stl使用过程中的一些tips
  5. 在Vue的webpack中结合runder函数
  6. NestedScrolling CoordinatorLayout
  7. jquery-ajax请求:超时设置,增加 loading 提升体验
  8. 综合性深入的技术文章-20161103
  9. CentOS中vsftp安装与配置
  10. Web性能优化实践——应用层性能优化