我是Android编程的新手。我想构建MediaPlayer应用程序。
实际上我之前已经构建了一个简单的MediaPlayer应用程序。我以前的应用程序只有一个按钮播放,一个按钮暂停,一个按钮停止..当点击播放按钮时,歌曲将播放。
我的新应用程序想要使用ListLayout和播放,暂停和停止等几个按钮来制作歌曲列表。我想要的是当我点击歌曲列表中的第一首歌时,第一首歌将播放..
我已经在谷歌进行了一些研究,但没有找到我能理解的简单答案。我希望你们能帮助我......谢谢你们很多.. =)
这是我的UPDATED代码..我不知道如何调用歌曲列表..我将我的song1,song2,song3存储在原始文件中..但是对于播放歌曲,我只能播放一首歌曲只有..
package com.example.test7;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
public class MainActivity extends Activity {
MediaPlayer mp;
int position;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mp = MediaPlayer.create(this,R.raw.song1);
setContentView(R.layout.activity_main);
ListView list = (ListView) findViewById(R.id.listView1);
String[] values = new String[] {"song1","song2","song3","song4","song5",
"song6","song7","song8","song9","song10"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, android.R.id.text1, values);
list.setAdapter(adapter);
list.setOnItemClickListener(new OnItemClickListener () {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
ListView list2 = (ListView) findViewById(R.id.listView1);
String item = (String) list2.getAdapter().getItem(position);
Toast.makeText(MainActivity.this, item + " selected", 5).show();
mp.start();
}
});
ImageButton btnPlay = (ImageButton) this.findViewById(R.id.imageButton1);
ImageButton btnPause = (ImageButton) this.findViewById(R.id.imageButton2);
ImageButton btnStop = (ImageButton) this.findViewById(R.id.imageButton3);
btnPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mp == null) {
mp = MediaPlayer.create(MainActivity.this, R.raw.song1);
}
if (!mp.isPlaying()) {
mp.start();
}
}
});
btnPause.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mp != null)
{
mp.pause();
position = mp.getCurrentPosition();
}
}
});
btnStop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mp != null)
{
if (mp.isPlaying()) {
mp.stop();
}
mp.release();
mp = null;
}
}
});
}
}
答案 0 :(得分:0)
mp.reset();需要在代码中实现。
答案 1 :(得分:0)
你可以使用r.java中存在的歌曲的最终int值来实现它 注意: 检查R.java文件中所有歌曲的最终int值。
final int[] mid = new int[] {0x7f040000,0x7f040001,0x7f040002,0x7f040003,0x7f040004,0x7f040005};
mainListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
s=MediaPlayer.create(SimpleListViewActivity.this, mid[position]);
s.start();
}
});