1. 오디오 노트 구현

2848 단어
  :  
  :2012.1.12
package com.shiqiu.yinxiao;
/*
      7    
 1. sp=new SoundPool()  
  a.    :public SoundPool(int maxStreams,int streamType,int srcQuality)//SoundPool(        ,    (     STREAM_MUSIC)    (  0))
  b.    :public int load(Context context,int resID,int priority)
             //   :lodd(   (Activity),    ID(R.raw.attack02),   (   1,      )
                spMap=new HashMap<Integer,Integer>();
    	                 spMap.put(1,sp.load(this,R.raw.attack02,1))//      ,   1
                       spMap.get(1)//       
  c.    :sp.play(soundID, leftVolume, rightVolume, priority, loop, rate)
             sp.play(spMap.get(1),volumnRatio,volumnRatio,1,1)
             sp.play(  ID,     ,     ,   0   ,    )//0    ,-1     
*/

public class yinxiaoActivity extends Activity {
    /** Called when the activity is first created. */
	SoundPool sp;
	Button y1;
	Button pause1;
	HashMap<Integer,Integer> spMap;
	
	
    @Override
    
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        initSoundPool();//      
        y1=(Button)findViewById(R.id.y1);//        
        pause1=(Button)findViewById(R.id.yp1);//        
        
        y1.setOnClickListener(new View.OnClickListener() {//       
			@Override
			public void onClick(View v) {
				playSound(1,1);		//       ,    
				Toast.makeText(yinxiaoActivity.this, "    1", Toast.LENGTH_SHORT).show();//      
		}});
        pause1.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				sp.pause(spMap.get(1));
				Toast.makeText(yinxiaoActivity.this, "    1", Toast.LENGTH_SHORT).show();
		}});
    }
    public void initSoundPool(){
    	sp = new SoundPool(5,AudioManager.STREAM_MUSIC,0);
    	spMap=new HashMap<Integer,Integer>();
    	spMap.put(1,sp.load(this,R.raw.attack02,1));//      1 spMap.put()    spMap.get()     ,         
    	spMap.put(2,sp.load(this,R.raw.attack14,1));//      2
    	}

    public void playSound(int sound,int number){	//    ,  sound      id,  number        
        	AudioManager am=(AudioManager)this.getSystemService(this.AUDIO_SERVICE);//   AudioManager  
        	float audioMaxVolumn=am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);	//    AudioManager        
        	float audioCurrentVolumn=am.getStreamVolume(AudioManager.STREAM_MUSIC);//    AudioManager      
        	float volumnRatio=audioCurrentVolumn/audioMaxVolumn;
        	sp.play(
        			spMap.get(sound), 					//     id
        			volumnRatio, 						//     
        			volumnRatio, 						//     
        			1, 									//   ,0   
        			number, 							//    ,0    ,-1     
        			1);	
    	
        	}

좋은 웹페이지 즐겨찾기