Работая над тестовым проектом, моя текущая цель - использовать int, чтобы указать, какой файл mp3 будет воспроизводиться при инициализации приложения, не зная заранее названия звуковых дорожек (проблема масштабируемости, поскольку я хочу иметь возможность добавлять новые mp3 файлы в пул рандомизации, не касаясь кода в будущем). Однако при запуске следующего кода произошла ошибка со следующим описанием:
ошибка: не найден подходящий метод для метода create (MainActivity, String) MediaPlayer.create (Context, Uri) не применяется (несоответствие аргумента; строка не может быть преобразована в Uri) метод MediaPlayer.create (Context, int) не является применимо (несоответствие аргумента; строка не может быть преобразована в int)
import android.content.res.AssetManager;
import android.content.res.Resources;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.RecyclerView;
import android.widget.ArrayAdapter;
import java.io.InputStream;
import java.lang.reflect.Field;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
RecyclerView bensonRecycler;
ArrayList<String> arrayList;
ArrayAdapter bensonAdapter;
MediaPlayer bensonPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AssetManager assetManager = getAssets();
String[] audios = assetManager.list("sound");
int i = 1;
final MediaPlayer mp = MediaPlayer.create(this, audios[i]);
mp.start();
}
}
Мои активы mp3-файлов имеют следующую структуру:
Итак, мой вопрос: что мне делать, чтобы использовал int i, чтобы указать, какую звуковую дорожку mp3 воспроизводить (не зная заранее названия звуковой дорожки mp3) среди массива mp3-ресурсов? (Я должен использовать переменную, чтобы указать саундтрек для воспроизведения в этом проекте тестирования)