Как я могу перенести звуки из raw в listview и изменить их имена? - PullRequest
0 голосов
/ 29 апреля 2018

Я должен взять звуки из raw и показать их в listview, я могу сделать это, но имена совпадают с именами папок в raw.

Как мне поменять их на нужные мне имена? (Также записывает воспроизводимую песню в текстовое представление)

Вот мой код:

 MediaPlayer mp;
    Uri uri;

    ListView listView;
    TextView textBilgi;

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_giris);

Field[] fields = R.raw.class.getFields();
        String[] mediaList = new String[fields.length];
        for (int count = 0; count < fields.length; count++)
            mediaList[count] = fields[count].getName();



        textBilgi = (TextView) findViewById(R.id.textBilgi1);
        listView = (ListView) findViewById(R.id.listview);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                giris.this, android.R.layout.simple_list_item_1,
                mediaList);
        listView.setAdapter(adapter);

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {


                String uri = "android.resource://" + getPackageName() + "/raw/"
                        + ((TextView) view).getText();



                if (mp != null && mp.isPlaying())
                    mp.stop();

                mp = MediaPlayer.create(getApplicationContext(), Uri.parse(uri));
                mp.start();

                textBilgi.setText(((TextView) view).getText() + " ["
                        + mp.getDuration() / 1000 + " sn.]");





            }
        });

    }

1 Ответ

0 голосов
/ 29 апреля 2018

Добавьте ваше любимое имя файла в your_array_list и добавьте адаптер , затем медиалист добавьте в ваш URI-файл и проверьте, что ваша проблема решена.

public class MediaPlay extends BaseActivity {

    MediaPlayer mp;
    Uri uri;

    ListView listView;
    TextView textBilgi;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_giris);

        Field[] fields = R.raw.class.getFields();
        final String[] mediaList = new String[fields.length];
        for (int count = 0; count < fields.length; count++)
            mediaList[count] = fields[count].getName();


        textBilgi = (TextView) findViewById(R.id.textBilgi1);
        listView = (ListView) findViewById(R.id.listview);

        List<String> your_array_list = new ArrayList<String>();
        your_array_list.add("Test One");
        your_array_list.add("Test Two");
        your_array_list.add("Test Three");


        ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                MediaPlay.this, android.R.layout.simple_list_item_1,
                your_array_list);
        listView.setAdapter(adapter);

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {


                String uri = "android.resource://" + getPackageName() + "/raw/" + mediaList[position];


                if (mp != null && mp.isPlaying())
                    mp.stop();

                mp = MediaPlayer.create(getApplicationContext(), Uri.parse(uri));
                mp.start();

                textBilgi.setText(((TextView) view).getText() + " ["
                        + mp.getDuration() / 1000 + " sn.]");


            }
        });

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...