Android如何为按键添加声音

为程序的按钮添加按键声音能更好的亲和用户,产生更好的使用体验,下面就是为按键添加声音的方法:

public class MainActivity extends Activity { private Button mButton01; private SoundPool sp;//声明一个SoundPool private int music;//定义一个整型用load();来设置suondID @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mButton01=(Button)findViewById(R.id.mButton01); sp= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);//第一个参数为同时播放数据流的最大个数,第二数据流类型,第三为声音质量 music = sp.load(this, R.raw.start, 1); //把你的声音素材放到res/raw里,第2个参数即为资源文件,第3个为音乐的优先级 mButton01.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { sp.play(music, 1, 1, 0, 0, 1); } } } }

在实现的过程中,我发现不同的Android机器对声音资源文件的格式要求不同。
当声音资源文件格式为wma时,Android虚拟机上测试,按键可以发出声音。
在真机上测试(魅族M9),logcat显示如下:
Unable to load sample: (null)
W/SoundPool sample 1 not READY

按下按键并没有声音。
查找资料发现,在使用SoundPool时,不同的机器对文件格式要求不同。
于是将资源文件转为mp3格式类型,但是测试发现,这次的情况恰恰相反,即真机可以播放,虚拟机不行。
想到之前所做项目中,声音资源的格式为ogg,没有出现过类似问题。果断转换、进行测试,真机、虚拟机都可以啦!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

时间: 2024-10-05 13:28:58

Android如何为按键添加声音的相关文章

Android给自定义按键添加广播和通过广播给当前焦点输入框赋值_Android

一.给自定义按键添加广播 修改PhoneWindowManager.java中的interceptKeyBeforeDispatching方法 /frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @Override public long interceptKeyBeforeDispatching(WindowState win, KeyEvent event, int poli

Android按键添加和处理的三个解决

 实现方案需求:Android机器上有个Wifi物理按键,现在需求通过点击"wifi物理按键"能够快速的开启/关闭wifi. 经过思考之后,拟出下面几种方案: 方案一,在linux kernel的驱动中捕获"wifi物理按键".在kernel的按键驱动中截获"wifi"按键,并对其进行处理:若是"wifi"是开启的,则关闭wifi:否则,打开wifi. 方案二,在Android中添加一个服务,监听wifi按键消息.若监听到&q

Android实现EditText中添加和删除bitmap的方法

本文实例讲述了Android实现EditText中添加和删除bitmap的方法.分享给大家供大家参考,具体如下: SpannableString mSpan1 = new SpannableString("1"); /* * this is add bitmap on edit text */ private void displayBitmapOnText(Bitmap thumbnailBitmap) { if(thumbnailBitmap == null) return; in

实例-java中能不能添加声音

问题描述 java中能不能添加声音 各位,你好我想问一下java中能不能添加声音,我在网上看到能,但是我自己试过不行有谁可以给我一个实例啊?谢谢 解决方案 http://bbs.csdn.net/topics/340257858 解决方案二: java提供了对音频的支持的,可以在Applet中播放音频的.这里有个完整的实例参考:http://blog.csdn.net/sky_warmer/article/details/19324643 解决方案三: 在jdk7.0中的示例Applet中有播放

android 中notifyDataSetChanged() 无法添加item!!

问题描述 android 中notifyDataSetChanged() 无法添加item!! 我在onActivityResult()方法中调用 myadapter.notifyDataSetChanged()来添加更新的内容,但是只能显示一行,再按"添加"按钮不能添加. 问一下是什么原因? 解决方案 onActivityResult是从另一个activity返回的时候调用的.看你这代码,每次返回当前activity,list都是重新new的,再次添加跟第一次添加没区别.不会显示多个

为PowerPooint演示文档添加声音

我们想为演示文稿配上背景音乐,只要将音乐格式的文件插入到文稿中就行了: 执行"插入→影片和声音→文件中的声音"命令,打开"插入声音"对话框,选中需要插入的声音文件,单击"确定"按钮,随后,系统弹出一个对话框,选择一种播放方式返回即可. 插入声音文件后,在相应的的幻灯片中出现一个小喇叭的标志(如图1),为了不影响播放效果,请将将此标志调小,并移到幻灯片一个不显眼的地方. 注意:请将相应的声音文件同演示文稿文件保存在同一文件夹中,方便整体移动. 文档

给PowerPooint演示文档添加声音

我们想为演示文稿配上背景音乐,只要将音乐格式的文件插入到文稿中就行了: 执行"插入→影片和声音→文件中的声音"命令,打开"插入声音"对话框,选中需要插入的声音文件,单击"确定"按钮,随后,系统弹出一个对话框,选择一种播放方式返回即可. 插入声音文件后,在相应的的幻灯片中出现一个小喇叭的标志(如图1),为了不影响播放效果,请将将此标志调小,并移到幻灯片一个不显眼的地方. 注意:请将相应的声音文件同演示文稿文件保存在同一文件夹中,方便整体移动. 文档

如何在 android 中动态的添加 checkboxs?

问题描述 如何在 android 中动态的添加 checkboxs? 我想在android中动态的创建edittext 字段,也创建了按钮点击事件.当我点击按钮,check boxes就会显示.但是当我在onclick动作上创建checkbox对象,就显示错误.使用的代码如下,为什么会显示错误呢? public class InflationActivity extends Activity {@Overridepublic void onCreate(Bundle savedInstanceS

javascript-给网页上的超链接按钮添加声音 点击就发出声音 要多浏览器支持 怎么写

问题描述 给网页上的超链接按钮添加声音 点击就发出声音 要多浏览器支持 怎么写 延迟越小越好 声音反应速度要快 给网页上的超链接按钮添加声音 点击就发出声音 要多浏览器支持 怎么写 解决方案 jmp3这个插件,用flash实现的,移动端浏览器不兼容,不过可以用audio标签来播放音频,自己判断下是否支持audio