Skip to content

Instantly share code, notes, and snippets.

@plmiso
Created May 3, 2017 14:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save plmiso/b24281b2a95ba984476612f2ab96b9d0 to your computer and use it in GitHub Desktop.
Save plmiso/b24281b2a95ba984476612f2ab96b9d0 to your computer and use it in GitHub Desktop.
package com.example.android.musicalstructureapp;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.ListView;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
ListView listView;
List<String> list;
ListAdapter adapter;
MediaPlayer mediaPlayer;
ImageView previousButton;
ImageView playButton;
ImageView pauseButton;
ImageView nextButton;
int resID;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
previousButton = (ImageView) findViewById(R.id.imageViewPrevious);
playButton = (ImageView) findViewById(R.id.imageViewPlay);
pauseButton = (ImageView) findViewById(R.id.imageViewPause);
nextButton = (ImageView) findViewById(R.id.imageViewNext);
listView = (ListView) findViewById(R.id.listView);
list = new ArrayList<>();
Field[] fields = R.raw.class.getFields();
for(int i = 0; i < fields.length; i++ ){
list.add(fields[i].getName());
}
adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, list);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
if(mediaPlayer != null){
mediaPlayer.release();
}
resID = getResources().getIdentifier(list.get(i), "raw", getPackageName());
mediaPlayer = MediaPlayer.create(MainActivity.this, resID);
mediaPlayer.start();
}
});
pauseButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mediaPlayer.pause();
}
});
playButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mediaPlayer.start();
}
});
nextButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
resID += 1;
mediaPlayer.start();
}
});
previousButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mediaPlayer.start();
}
});
list.remove(0);
list.remove(3);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment