android 播放声音资源,android播放音效例子 (翻页音效、警报音效通用 只需传入声音源)...
音效播放:
资源文件: 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播放音效例子 (翻页音效、警报音效通用 只需传入声音源)...相关推荐
- android 设置资源,Android 资源
Android 资源Android Resources 02/01/2018 本文内容 本文介绍了 Xamarin 中 Android 资源的概念,并介绍了如何使用这些资源.其中介绍了如何使用 And ...
- android framework资源,Android 添加framework资源包
为Android系统添加一个新的资源包 概述 传统的Android系统只有一个framework-res.apk资源包,第三方厂商在进行rom定制时会直接修改framework res资源,达到适配目 ...
- linux+手机+翻页,在Android手机上实现阅读器的翻页效果
本篇文章来谈谈怎么使用java实现翻页效果,就像电子阅读器那样. 现在先来看看翻页的原理图: 先了解各个字母表示的含义: A-把书页翻起来后看到的背面区域 B-把书页翻起来后看到的下一页的一角 C-当 ...
- android 多渠道资源,Android多渠道打包
Android多渠道打包 概述 每当发新版本时,Android客户端会被分发到各个应用市场,比如豌豆荚,360手机助手等.为了统计这些市场的效果(活跃数,下单数等),需要有一种方法来唯一标识它们.客户 ...
- excel android vba,你加班1小时做Excel表格,我用VBA只需1分钟!(免费领教程)
VBA的使用领域非常广泛,HR数据统计和分析.日常办公.都可以看到它的身影,用好VBA轻松助你一臂之力. 什么是VBA? 一句话概括:在Excel中想实现什么功能,就可以用VBA语言编写一段程序去完成 ...
- android framework资源,android源码framework下添加新资源的方法
编译带有资源的jar包,需要更改frameworks层,方法如下: 一.增加png类型的图片资源 1.将appupdate模块所有用到的png格式图片拷贝到framework/base/core/re ...
- android音频资源,android音频编辑之音频裁剪的示例代码
前言 本篇开始讲解音频编辑的具体操作,从相对简单的音频裁剪开始.要进行音频裁剪,我的方案是开启一个Service服务用于音频裁剪的耗时操作,主界面发送裁剪命令,同时注册EventBus接受裁剪的消息( ...
- gif android. 耗资源,Android MP4转GIF
[Java] 纯文本查看 复制代码/** * [url=home.php?mod=space&uid=952169]@Param[/url] gifPath gif图片的存储路径 * @par ...
- android 泰语资源,Android 泰语、缅甸语等复杂语言圈圈问题
文件与目录管理 cd:切换目录 pwd:显示当前目录 mkdir:新建一个新的目录 rmdir:删除一个空的目录 ls:查看目录与文件 cp:复制 rm:删除 mv:移动|重命名文件与目录 切换目录( ...
最新文章
- Hbase的过滤器查询
- 蚂蚁金服天街:OceanBase 在大促 5 年来的技术演进
- Xen的network-bridge模式
- 十一、深入JavaScript的定时器(七)
- VTK:PolyData之ColorCellsWithRGB
- 健康饮食五谷杂粮系列PPT模板
- springboot data.redis.RedisConnectionFactory 集成问题
- MATLAB各类函数详细讲解 simulike系统仿真分析
- java 字母金字塔_LeetCode756:金字塔转换矩阵(JAVA题解)
- 使用机器视觉模式识别屏幕
- markdown简明使用语法
- SSH连接原理及ssh-key
- [paper reading] RetinaNet
- 构建一个可靠的分布式计数器--memcached之incr/decr操作实战分析
- 怎样把网站js文件合并成一个?几种方法可以实现
- java resourcebundle_Java ResourceBundle.getBundle如何加载属性文件?
- 什么是负边沿触发_边沿触发 - FreeSaber - 博客园
- win11怎么关闭触控板?win11关闭触控板的三种解决方法
- Java 每半年就会更新一次新特性,再不掌握就要落伍了:Java16 的新特性
- Arnold置乱变换的代码实现与置乱度分析