Я следил за этим кодом на сайте разработчика andriod. Этот код отображает изображения в сетке. Теперь я хочу играть в разные звуки каждый раз, когда пользователь нажимает на изображение. Как я могу это сделать?
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(this));
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
//
Intent myIntent = null;
if(position==0){
//Play some sound...
//MediaPlayer sound= MediaPlayer.create(this,R.raw.alif);
// sound.start();
}
if(position==1){
Toast.makeText(Test.this, "" + "Baa",Toast.LENGTH_SHORT).show();
//Want to play sound here
}
}
});
}
Когда я добавляю этот код: я получаю ошибку компиляции
Метод create (Context, int) в типе MediaPlayer не применим для аргументов (новый AdapterView.OnItemClickListener() {}, int)
if(position==0){
MediaPlayer sound= MediaPlayer.create(this,R.raw.alif);
sound.start();
}
final MediaPlayer sound= MediaPlayer.create(this,R.raw.alif);
Intent myIntent = null;
if(position==0){ sound.start();}
button.setOnClickListener(
new View.OnClickListener()
{
@Override
public void onClick(View v)
{
if ( mPlayer == null ) mPlayer = new MediaPlayer();
else mPlayer.stop();
try
{
mPlayer.setVolume( (float)0.25 * n, (float)0.25 * n );
mPlayer.reset();
// in here your sounds would be listed in an array - pick a random file each time.
mPlayer.setDataSource( strSoundFile );
mPlayer.prepare();
mPlayer.start();
}
catch (IllegalArgumentException e)
{
myViewUpdateHandler.sendMessage( msg );
e.printStackTrace();
} catch (IllegalStateException e)
{
myViewUpdateHandler.sendMessage( msg );
e.printStackTrace();
} catch (IOException e)
{
myViewUpdateHandler.sendMessage( msg );
e.printStackTrace();
}
}
});