ForLoop5
asked on
Looping multiple sounds with SoundPool
I am aiming to play and loop multiple sounds at the same time using the soundpool class in java. I am new at this and it appears I am not able to loop more than one sound at at time. I can play multiple sounds at the same time but when i set the loop parameter to anything other than zero I am limited to only being able to play one sound at a time.
Here is the code.
Here is the code.
package com.example.poolsoundsample;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
	Button button1;
	SoundPool sp;
	
	Button button2;
	SoundPool sp2;
	int pianoa = 0;
	int pianob = 0;
	
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		sp = new SoundPool(99, AudioManager.STREAM_MUSIC,0);
		pianoa = sp.load(this, R.raw.bassloop2, 1);
		
		 button1 = (Button) findViewById(R.id.button1);
	 button1.setOnClickListener(ButtonClickListener);
		
	 sp2 = new SoundPool(99, AudioManager.STREAM_MUSIC,0);
			pianob = sp2.load(this, R.raw.bassloop3, 1);
			
			 button2 = (Button) findViewById(R.id.button2);
		 button2.setOnClickListener(ButtonClickListener);
	}
	
	private OnClickListener ButtonClickListener = new OnClickListener() {
		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			//if (sound1 != 0)
			//	sp.play(sound1, 1, 1, 0, 0, 1);	
			switch(v.getId()) {
////////////////////////////////Start button 1//////////////////////////
			 case R.id.button1:
				 	if (pianoa != 0){
				 		sp2.play(pianob, 1, 1, 0, -1, 1);}
			 		break;
			 case R.id.button2:
			 	if (pianob != 0){
			 		sp2.play(pianob, 1, 1, 0, -1, 1);}
		 		break;
							}
		}
	};
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}
	}
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER