Ошибка появляется в этих четырех частях (R.raw.forest); (R.raw.sea); ( R.raw.wind ) ; ( R.raw.fire ) ; это файлы .mp3 в папке raw в res.

ошибка: не найден подходящий метод для метода setDataSource (int) MediaPlayer.setDataSource (String) не применяется

Как сделать так, чтобы воспроизводился только выбранный мной звук, пока я не нажму другую кнопку ImageButton, чтобы они не звучали друг над другом.

MediaPlayer лист, вода, огонь, ветер; Проигрыватель MediaPlayer;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    leaf=MediaPlayer.create(MainActivity.this,R.raw.forest);
    water=MediaPlayer.create(MainActivity.this,R.raw.sea);
    fire=MediaPlayer.create(MainActivity.this,R.raw.fire);
    wind=MediaPlayer.create(MainActivity.this,R.raw.wind);
}
public void playleaf(View view) {

    stopMedia();
    player = new MediaPlayer();

    player.setDataSource(R.raw.forest);

    player.prepareAsync();

    player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mp) {
            player.setLooping(true);
            player.start();
        }
    });
}

public void playwater(View view) {
    stopMedia();

    player = new MediaPlayer();

    player.setDataSource(R.raw.sea);

    player.prepareAsync();

    player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mp) {
            player.setLooping(true);
            player.start();
        }
    });
}

private void stopMedia() {
    if (player != null) {
        player.release();
        player = null;
    }
}

public void playfire(View view) {
    stopMedia();

    player = new MediaPlayer();

    player.setDataSource(R.raw.fire);

    player.prepareAsync();

    player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mp) {
            player.setLooping(true);
            player.start();
        }
    });
}

public void playwind(View view) {
    stopMedia();

    player = new MediaPlayer();

    player.setDataSource(R.raw.wind);

    player.prepareAsync();

    player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mp) {
            player.setLooping(true);
            player.start();
        }
    });
}

}

0
ldf