@lonata

Как добавить плейлист в музыкальный плеер на Android?

Делаю плеер на андроид в качестве своего первого приложения. Нужно добавить плейлист с помощью которого будет производится выбор песни. То есть будет иконка папки, при нажатии на которую появится список на весь экран из треков, которые находятся на sd карте. Иконка папки должна находится на главном экране приложения

Что должно быть:

-Треки в этой папке могут меняться, то есть я могу с компа добавить или удалить треки. Папка должна при открытии показать находящиеся внутри неё треки. А также другие папки, в которых тоже находятся другие треки, можно назвать это альбомами. То есть при открытии этой папки, все вложенные в неё другие папки должны быть видны

-При клике на название трека, он запускается и происходит переход в Main_Activity

Как это реализовать?

5b3a3167d5372803827597.jpeg

XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/background"
    tools:context=".MainActivity">

    <com.mikhaellopez.circularimageview.CircularImageView
        android:layout_width="230dp"
        android:layout_height="230dp"
        android:layout_alignParentTop="true"

        android:layout_centerHorizontal="true"
        android:layout_marginTop="90dp"
        android:src="@drawable/album_art"
        />


    <Button
        android:id="@+id/btn_play"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="82dp"
        android:background="@drawable/play" />

    <Button
        android:id="@+id/btn_pause"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_alignBottom="@+id/btn_play"
        android:layout_alignParentStart="true"
        android:layout_marginStart="43dp"
        android:background="@drawable/pause" />

    <Button
        android:id="@+id/btn_stop"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_alignBottom="@+id/btn_play"
        android:layout_alignParentEnd="true"
        android:layout_marginEnd="43dp"
        android:background="@drawable/stop" />
</RelativeLayout>


Main_activity class:

package com.kentforth.musicplayer;

import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity implements View.OnClickListener{

    Button play,pause,stop;
    MediaPlayer mediaPlayer;
    int pauseCurrentPosition;

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

        play = (Button) findViewById(R.id.btn_play);
        pause = (Button) findViewById(R.id.btn_pause);
        stop = (Button) findViewById(R.id.btn_stop);

        play.setOnClickListener(this);
        pause.setOnClickListener(this);
        stop.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {

        switch(view.getId()) {

            case R.id.btn_play:
                if(mediaPlayer == null) {
                mediaPlayer = MediaPlayer.create(getApplicationContext(),R.raw.city);
                mediaPlayer.start();}

                else if(!mediaPlayer.isPlaying()) {
                    mediaPlayer.seekTo(pauseCurrentPosition);
                    mediaPlayer.start();
                }
                break;

            case R.id.btn_pause:
                if (mediaPlayer !=null ) {
                    mediaPlayer.pause();
                    pauseCurrentPosition = mediaPlayer.getCurrentPosition();
                }
                break;

            case R.id.btn_stop:
                if(mediaPlayer!=null) {
                    mediaPlayer.stop();
                    mediaPlayer = null;
                }

                break;

        }

    }
}
  • Вопрос задан
  • 308 просмотров
Решения вопроса 1
iLLuzor
@iLLuzor
Java, Kotlin, Android Developer
Нужно получить список файлов и поместить их в список (отображения).
Читайте про:
  • Работу с файлами
  • Работу со списками (RecyclerView)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы