重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Android中怎么利用SoundPool播放音效,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
创新互联建站是一家专业提供延边朝鲜族企业网站建设,专注与做网站、成都网站建设、HTML5建站、小程序制作等业务。10年已为延边朝鲜族众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。
SoundPool主要用于播放一些较短的声音片段,与MediaPlayer相比,SoundPool的优势在 于CPU资源占用量低和反应延迟小。另外,SoundPool还支持自行设置声音的品质、音量、播放比率等参数。
一般使用SoundPool播放声音的步骤如下:
Step1:调用SoundPool.Builder的构造器创建SoundPool.Builder对象,并可通过该Builder对象为SoundPool设置属性; Step2:调用SoundPool的构造器创建SoundPool对象; Step3:调用SoundPool对象的load()方法从指定资源、文件中加载声音。最好使用HashMap< Integer, Integer>来管理所加载的声音; Step4:调用SoundPool的play()方法播放声音。
下面的Demo程序示范了如何使用SoundPool来播放音效,该程序提供三个按钮,分别用于播放不同的声音。
layout/activity_main.xml界面代码如下:
MainActivity.java逻辑代码如下:
package com.fukaimei.soundpooltest;import android.media.AudioAttributes;import android.media.SoundPool;import android.os.Build;import android.support.annotation.RequiresApi;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import java.util.HashMap;public class MainActivity extends AppCompatActivity implements View.OnClickListener { Button bomb, shot, arrow; // 定义一个SoundPool SoundPool soundPool; HashMap
上面Demo程序代码中标①的代码用于创建SoundPool对象;标②的代码用于使用SoundPool加载多个不同的声音;标③的代码则用于根据声音ID来播放指定的声音。这就是使用SoundPool播放声音的标准过程。
实际使用SoundPool播放声音时有如下几点需要注意:SoundPool虽然可以一次性加载多个声音,但由于内存限制,因此应该避免使用SoundPool来播放歌曲,只有那些短促、密集的声音才考虑使用SoundPool进行播放。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。