我的布局中只有上一曲下一曲暂停播放按钮和listview,请根据这些组件重新编写Java代码
时间: 2024-02-15 15:05:00 浏览: 141
好的,根据您的描述,以下是一个简单的Java代码示例,实现了上一曲、下一曲、暂停和播放功能:
```java
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
public class MainActivity extends Activity {
private MediaPlayer mediaPlayer;
private ListView listView;
private Button prevButton;
private Button nextButton;
private Button playButton;
private boolean isPlaying = false;
private String[] songList = {"Song 1", "Song 2", "Song 3", "Song 4", "Song 5"};
private int currentSongIndex = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize the media player
mediaPlayer = MediaPlayer.create(this, R.raw.song1);
// Initialize the list view
listView = findViewById(R.id.list_view);
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, songList);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
currentSongIndex = position;
playSong(songList[currentSongIndex]);
}
});
// Initialize the buttons
prevButton = findViewById(R.id.prev_button);
nextButton = findViewById(R.id.next_button);
playButton = findViewById(R.id.play_button);
prevButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
currentSongIndex--;
if (currentSongIndex < 0) {
currentSongIndex = songList.length - 1;
}
playSong(songList[currentSongIndex]);
}
});
nextButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
currentSongIndex++;
if (currentSongIndex >= songList.length) {
currentSongIndex = 0;
}
playSong(songList[currentSongIndex]);
}
});
playButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (isPlaying) {
pauseSong();
} else {
playSong(songList[currentSongIndex]);
}
}
});
}
private void playSong(String songName) {
try {
mediaPlayer.reset();
int songResource = getResources().getIdentifier(songName.toLowerCase().replace(" ", "_"), "raw", getPackageName());
mediaPlayer = MediaPlayer.create(this, songResource);
mediaPlayer.start();
isPlaying = true;
playButton.setText("Pause");
} catch (Exception e) {
e.printStackTrace();
}
}
private void pauseSong() {
if (mediaPlayer.isPlaying()) {
mediaPlayer.pause();
isPlaying = false;
playButton.setText("Play");
}
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mediaPlayer != null) {
mediaPlayer.release();
mediaPlayer = null;
}
}
}
```
注意,这只是一个简单的例子,您需要根据您的实际需求进行修改和扩展。
阅读全文