音效播放:

资源文件: res/raw/filename

声音池类:SoundPool sp = new

SoundPool(同时最大播放个数,AudioManager.STREAM_MUSIC,0);

将加载里音频文件的SoundPool添加到一个HashMap中,提供给以后的调用

HashMap spMap = new

HashMap

Integer>();

spMap.put(1,sp.load(this, R.raw.filename1,1));

spMap.put(2,sp.load(this, R.raw.filename2,1));

音效播放函数:

public void playSounds(int sound, int number){

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

AudioManager

am =

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

//最大音量

float

audioMaxVolumn =

am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);

//当前音量

float

audioCurrentVolumn =

am.getStreamVolume(AudioManager.STREAM_MUSIC);

float

volumnRatio = audioCurrentVolumn/audioMaxVolumn;

//播放

sp.play(spMap.get(sound),

//声音资源

volumnRatio,  //左声道

volumnRatio,  //右声道

1,  //优先级,0最低

number,  //循环次数,0是不循环,-1是永远循环

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

}

音效暂停:

sp.pause(spMap.get(1));

代码如下:

package

com.litsoft;

import java.util.HashMap;

import android.app.Activity;

import android.media.AudioManager;

import android.media.SoundPool;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

public class TestSounds extends Activity {

private

Button bPlay;

private

Button bPause;

private

SoundPool sp;

private

HashMap

spMap;

public void

onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

bPlay = (Button)findViewById(R.id.button01);

bPause = (Button)findViewById(R.id.button02);

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

spMap = new

HashMap();

spMap.put(1, sp.load(this, R.raw.qiang, 1));

bPlay.setOnClickListener(new OnClickListener()

{

public void onClick(View v) {

// TODO Auto-generated method

stub

playSounds(1,1);

}

});

bPause.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method

stub

sp.pause(spMap.get(1));

}

});

}

public void

playSounds(int sound, int number){

AudioManager am =

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

float audioMaxVolumn =

am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);

float audioCurrentVolumn =

am.getStreamVolume(AudioManager.STREAM_MUSIC);

float volumnRatio =

audioCurrentVolumn/audioMaxVolumn;

sp.play(spMap.get(sound), volumnRatio,

volumnRatio, 1, number, 1);

}

}

version="1.0" encoding="utf-8"?>

xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

android:id="@+id/button01"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="Play">

android:id="@+id/button02"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="Pause">

android 播放声音资源,android播放音效例子 (翻页音效、警报音效通用 只需传入声音源)...相关推荐

  1. android 设置资源,Android 资源

    Android 资源Android Resources 02/01/2018 本文内容 本文介绍了 Xamarin 中 Android 资源的概念,并介绍了如何使用这些资源.其中介绍了如何使用 And ...

  2. android framework资源,Android 添加framework资源包

    为Android系统添加一个新的资源包 概述 传统的Android系统只有一个framework-res.apk资源包,第三方厂商在进行rom定制时会直接修改framework res资源,达到适配目 ...

  3. linux+手机+翻页,在Android手机上实现阅读器的翻页效果

    本篇文章来谈谈怎么使用java实现翻页效果,就像电子阅读器那样. 现在先来看看翻页的原理图: 先了解各个字母表示的含义: A-把书页翻起来后看到的背面区域 B-把书页翻起来后看到的下一页的一角 C-当 ...

  4. android 多渠道资源,Android多渠道打包

    Android多渠道打包 概述 每当发新版本时,Android客户端会被分发到各个应用市场,比如豌豆荚,360手机助手等.为了统计这些市场的效果(活跃数,下单数等),需要有一种方法来唯一标识它们.客户 ...

  5. excel android vba,你加班1小时做Excel表格,我用VBA只需1分钟!(免费领教程)

    VBA的使用领域非常广泛,HR数据统计和分析.日常办公.都可以看到它的身影,用好VBA轻松助你一臂之力. 什么是VBA? 一句话概括:在Excel中想实现什么功能,就可以用VBA语言编写一段程序去完成 ...

  6. android framework资源,android源码framework下添加新资源的方法

    编译带有资源的jar包,需要更改frameworks层,方法如下: 一.增加png类型的图片资源 1.将appupdate模块所有用到的png格式图片拷贝到framework/base/core/re ...

  7. android音频资源,android音频编辑之音频裁剪的示例代码

    前言 本篇开始讲解音频编辑的具体操作,从相对简单的音频裁剪开始.要进行音频裁剪,我的方案是开启一个Service服务用于音频裁剪的耗时操作,主界面发送裁剪命令,同时注册EventBus接受裁剪的消息( ...

  8. gif android. 耗资源,Android MP4转GIF

    [Java] 纯文本查看 复制代码/** * [url=home.php?mod=space&uid=952169]@Param[/url] gifPath gif图片的存储路径 * @par ...

  9. android 泰语资源,Android 泰语、缅甸语等复杂语言圈圈问题

    文件与目录管理 cd:切换目录 pwd:显示当前目录 mkdir:新建一个新的目录 rmdir:删除一个空的目录 ls:查看目录与文件 cp:复制 rm:删除 mv:移动|重命名文件与目录 切换目录( ...

最新文章

  1. Hbase的过滤器查询
  2. 蚂蚁金服天街:OceanBase 在大促 5 年来的技术演进
  3. Xen的network-bridge模式
  4. 十一、深入JavaScript的定时器(七)
  5. VTK:PolyData之ColorCellsWithRGB
  6. 健康饮食五谷杂粮系列PPT模板
  7. springboot data.redis.RedisConnectionFactory 集成问题
  8. MATLAB各类函数详细讲解 simulike系统仿真分析
  9. java 字母金字塔_LeetCode756:金字塔转换矩阵(JAVA题解)
  10. 使用机器视觉模式识别屏幕
  11. markdown简明使用语法
  12. SSH连接原理及ssh-key
  13. [paper reading] RetinaNet
  14. 构建一个可靠的分布式计数器--memcached之incr/decr操作实战分析
  15. 怎样把网站js文件合并成一个?几种方法可以实现
  16. java resourcebundle_Java ResourceBundle.getBundle如何加载属性文件?
  17. 什么是负边沿触发_边沿触发 - FreeSaber - 博客园
  18. win11怎么关闭触控板?win11关闭触控板的三种解决方法
  19. Java 每半年就会更新一次新特性,再不掌握就要落伍了:Java16 的新特性
  20. Arnold置乱变换的代码实现与置乱度分析

热门文章

  1. dom属性和html属性_HTML属性
  2. 阅读源码的 4 个绝技,我必须分享给你!
  3. HashMap 的 7 种遍历方式与性能分析!「修正篇」
  4. entity framework使用技巧
  5. Oracle view 小结片段
  6. 【STM32】修改芯片型号后报 Error 的解决方案
  7. jenkins用ssh agent插件在pipeline里实现scp和远程执行命令
  8. ElasticSearch可视化工具Dejavu安装使用
  9. Tensorflow中查看gpu是否可用
  10. 什么是JSON? 以及jackson的使用