布局文件:

 1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3     package="com.example.ch_2013_4_9playsound" 4     android:versionCode="1" 5     android:versionName="1.0" > 6  7     <uses-sdk 8         android:minSdkVersion="8" 9         android:targetSdkVersion="17" />10 11     <application12         android:allowBackup="true"13         android:icon="@drawable/ic_launcher"14         android:label="@string/app_name"15         android:theme="@style/AppTheme" >16         <activity17             android:name="com.example.ch_2013_4_9playsound.MainActivity"18             android:label="@string/app_name" >19             <intent-filter>20                 <action android:name="android.intent.action.MAIN" />21 22                 <category android:name="android.intent.category.LAUNCHER" />23             </intent-filter>24         </activity>25     </application>26 27 </manifest>

Activity:

 1 package com.example.ch_2013_4_9playsound; 2  3 import java.util.HashMap; 4  5 import android.media.AudioManager; 6 import android.media.SoundPool; 7 import android.os.Bundle; 8 import android.annotation.SuppressLint; 9 import android.app.Activity;10 import android.content.Context;11 import android.view.Menu;12 import android.view.View;13 import android.view.View.OnClickListener;14 import android.widget.Button;15 import android.widget.Toast;16 17 @SuppressLint("UseSparseArrays")18 public class MainActivity extends Activity implements OnClickListener {19 20     Button btn_play;21     Button btn_play1;22     Button btn_stop;23     Button btn_stop1;24 25     SoundPool sp;26     HashMap<Integer, Integer> spMap;27 28     @Override29     protected void onCreate(Bundle savedInstanceState) {30         super.onCreate(savedInstanceState);31         setContentView(R.layout.activity_main);32         33         InitSound();34         Init();35     }36 37     @Override38     public boolean onCreateOptionsMenu(Menu menu) {39         // Inflate the menu; this adds items to the action bar if it is present.40         getMenuInflater().inflate(R.menu.main, menu);41         return true;42     }43         //http://www.cnblogs.com/sosoft/44 45     public void Init() {46         btn_play = (Button) findViewById(R.id.btn_play);47         btn_play1 = (Button) findViewById(R.id.btn_play1);48         btn_stop = (Button) findViewById(R.id.btn_stop);49         btn_stop1 = (Button) findViewById(R.id.btn_stop1);50         51         btn_play.setOnClickListener(this);52         btn_play1.setOnClickListener(this);53         btn_stop.setOnClickListener(this);54         btn_stop1.setOnClickListener(this);55     }56 57     public void InitSound() {58         sp = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);59         spMap = new HashMap<Integer, Integer>();60         spMap.put(1, sp.load(this, R.raw.fire, 1));61         spMap.put(2, sp.load(this, R.raw.hit, 1));62 63     }64 65     public void playSound(int sound, int number) {66         AudioManager am = (AudioManager) this67                 .getSystemService(Context.AUDIO_SERVICE);68         float audioMaxVolumn = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);69         float volumnCurrent = am.getStreamVolume(AudioManager.STREAM_MUSIC);70         float volumnRatio = volumnCurrent / audioMaxVolumn;71 72         sp.play(spMap.get(sound), volumnRatio, volumnRatio, 1, number,  1f);73     }74 75     @Override76     public void onClick(View v) {77         // TODO Auto-generated method stub78         if (v == btn_play) {79             playSound(1, 0);80             Toast.makeText(this, "play1", Toast.LENGTH_SHORT).show();81         }82         if (v == btn_play1) {83             playSound(2, 1);84             Toast.makeText(this, "play2", Toast.LENGTH_SHORT).show();85         }86         if (v == btn_stop) {87             sp.pause(spMap.get(1));88             Toast.makeText(this, "stop", Toast.LENGTH_SHORT).show();89         }90         if (v == btn_stop1) {91             sp.pause(spMap.get(2));92             Toast.makeText(this, "stop1", Toast.LENGTH_SHORT).show();93         }94     }95 96 }

更多相关文章

  1. 【Android】配置文件属性说明
  2. 在sd卡存储文件
  3. Android 解决布局问题
  4. 读取raw文件下文件内容
  5. android卡片布局CardView
  6. AndroidのUI布局之layout weight
  7. Android_布局属性大全

随机推荐

  1. Android(安卓)借助Stetho在Chrome上调试A
  2. Doze和App Standby的优化(API23)
  3. Android(安卓)NDK r5 windows系统上安装
  4. 【ADT】亲测、有图goagent解决ADT下载过
  5. android——代码实现在指定位置显示View
  6. Android开发周报:Android(安卓)Studio2.0
  7. java获取页面输入的值
  8. EditText 的setKeyListener()方法的用法
  9. Android(安卓)JNI 学习笔记
  10. 电脑导出文件到手机 adb push