本文实例为大家分享了Android利用SoundPool实现音乐池的具体代码,供大家参考,具体内容如下
运行效果图如下:


布局文件(activity_sound_pool.xml)
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:id="@+id/activity_sound_pool"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingBottom="@dimen/activity_vertical_margin"
- android:paddingLeft="@dimen/activity_horizontal_margin"
- android:paddingRight="@dimen/activity_horizontal_margin"
- android:paddingTop="@dimen/activity_vertical_margin"
- android:orientation="vertical"
- tools:context="com.example.g150825_android26.SoundPoolActivity">
-
- <Button
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="音效鸡"
- android:onClick="playKFC"
- />
- <Button
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="音效TWO"
- android:onClick="playTWO"
- />
- <Button
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="音效Three"
- android:onClick="playThree"
- />
- <Button
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="音效Four"
- android:onClick="playFour"
- />
- <Button
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="音效狗"
- android:onClick="playDog"
- />
-
- </LinearLayout>
Java代码
- package com.example.g150825_android26;
-
- import android.app.AlarmManager;
- import android.media.AudioManager;
- import android.media.SoundPool;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.view.View;
-
- public class SoundPoolActivity extends AppCompatActivity {
-
- private SoundPool soundPool;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_sound_pool);
- soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC,0);
-
- soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() {
- @Override
- public void onLoadComplete(SoundPool soundPool, int i, int i1) {
- soundPool.play(i,1,1,1,-1,1);
- }
- });
- }
- public void playKFC(View view){
- soundPool.load(this,R.raw.rooster,1);
- }
- public void playTWO(View view){
- soundPool.load(this,R.raw.chimp,1);
-
- }
- public void playThree(View view){
- soundPool.load(this,R.raw.crickets,1);
- }
- public void playFour(View view){
- soundPool.load(this,R.raw.roar,1);
- }
- public void playDog(View view){
- soundPool.load(this,R.raw.dogbark,1);
- }
-
- @Override
- protected void onDestroy() {
- super.onDestroy();
- if (soundPool!=null){
- soundPool.release();
- soundPool=null;
- }
- }
- }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持w3xue。