Как воспроизводить аудио, используя этот код в Grid View

1

Я следил за этим кодом на сайте разработчика 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();
}
  • 0
    Что не работает с этим? Ваши строки MediaPlayer закомментированы (и плохо отформатированы для чтения). Эти линии вызывают сбой? Ничего не происходит? Дайте нам лучшее описание вашего сценария.
Теги:

2 ответа

0
final MediaPlayer sound= MediaPlayer.create(this,R.raw.alif);

Intent myIntent = null;
if(position==0){  sound.start();}
0
        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();
                    }

                }
            });   
  • 0
    if (position == 0) {MediaPlayer bismiallh2 = MediaPlayer.create (this, R.raw.alif); bismiallh.start (); }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню