Java 我正在制作在线媒体播放器应用程序。。它工作得很好,但当我点击下一步按钮时,我无法播放下一首歌
我正在制作在线媒体播放器应用程序。。它工作得很好,但当我点击下一步按钮时,我无法播放下一首歌 球员级别Java 我正在制作在线媒体播放器应用程序。。它工作得很好,但当我点击下一步按钮时,我无法播放下一首歌,java,android,android-layout,Java,Android,Android Layout,我正在制作在线媒体播放器应用程序。。它工作得很好,但当我点击下一步按钮时,我无法播放下一首歌 球员级别 public class Player extends AppCompatActivity { Intent i; String sname,sid,spath; ImageButton play; Button nxt; MediaPlayer mp; ArrayList list; @Override protected
public class Player extends AppCompatActivity {
Intent i;
String sname,sid,spath;
ImageButton play;
Button nxt;
MediaPlayer mp;
ArrayList list;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.player);
play = (ImageButton)findViewById(R.id.play_pause);
nxt = (Button) findViewById(R.id.next);
nxt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// NO IDEA WHAT TO DO NOW
}
});
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mp = MediaPlayer.create(Player.this,Uri.parse(spath));
if(mp.isPlaying()){
if(mp!=null){
mp.pause();
// Changing button image to play button
play.setImageResource(R.drawable.uamp_ic_play_arrow_white_48dp);
}
}else{
// Resume song
if(mp!=null){
mp.start();
// Changing button image to pause button
play.setImageResource(R.drawable.uamp_ic_pause_white_48dp);
}
}
}
});
i=getIntent();
sid=i.getStringExtra("sid");
sname=i.getStringExtra("sname");
spath=i.getStringExtra("spath");
}
@Override
public void onBackPressed() {
startActivity(new Intent(Player.this, song_list.class));
finish();
super.onBackPressed();
}
}
歌曲列表类
public class song_list extends AppCompatActivity {
ListView listView;
ArrayList<pojonew> list;
String result,url;
json js;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.song_list);
listView = (ListView)findViewById(R.id.songs);
url="https://heeled-pipe.000webhostapp.com/select.php";
new SongData().execute();
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
pojonew p=(pojonew)list.get(position);
String sid=p.getId();
String sname=p.getName();
String spath=p.getPath();
Intent i = new Intent(song_list.this,Player.class);
i.putExtra("sid",sid);
i.putExtra("sname",sname);
i.putExtra("spath",spath);
startActivity(i);
}
});
}
公共类歌曲列表扩展了AppCompative活动{
列表视图列表视图;
数组列表;
字符串结果,url;
json-js;
@凌驾
创建时受保护的void(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.song_列表);
listView=(listView)findViewById(R.id.songs);
url=”https://heeled-pipe.000webhostapp.com/select.php";
new SongData().execute();
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
pojonewp=(pojonew)list.get(position);
字符串sid=p.getId();
字符串sname=p.getName();
String spath=p.getPath();
意图i=新意图(歌曲列表。这个,播放器。类);
i、 putExtra(“sid”,sid);
i、 putExtra(“sname”,sname);
i、 putExtra(“spath”,spath);
星触觉(i);
}
});
}
SONGDATA类
class SongData extends AsyncTask<Void, Void , Void>
{
@Override
protected Void doInBackground(Void... params) {
js = new json();
list = new ArrayList<>();
result = js.getdatafromurl(url);
Log.d("url",url);
try {
JSONObject jo = new JSONObject(result);
JSONArray ja= jo.getJSONArray("data");
for (int i=0;i<ja.length();i++){
JSONObject jo1 = ja.getJSONObject(i);
pojonew sp = new pojonew();
sp.setId(jo1.getString("id"));
sp.setName(jo1.getString("name"));
sp.setPath(jo1.getString("path"));
list.add(sp);
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
custadapter n=new custadapter(list,song_list.this);
listView.setAdapter(n);
}
}
}
class SongData扩展异步任务
{
@凌驾
受保护的Void doInBackground(Void…参数){
js=newjson();
列表=新的ArrayList();
结果=js.getdatafromurl(url);
Log.d(“url”,url);
试一试{
JSONObject jo=新的JSONObject(结果);
JSONArray ja=jo.getJSONArray(“数据”);
对于(int i=0;i,单击播放按钮可获取列表数据项的位置
并调用下面的方法
public ModelClass loadNext(String id) {
ModelClass nextAudio = null;
int pos = 1;
for (int index = 0; index < FileList.size(); index++) {
if (ModelClass.get(index).getFileUID().equals(id)) {
pos = index + 1;
break;
}
}
if (pos != AudioFileList.size())
nextAudio = AudioFileList.get(pos);
return nextAudio;
}
公共模型类loadNext(字符串id){
ModelClass nextAudio=null;
int pos=1;
对于(int index=0;index
点击列表视图,加载媒体播放器即可播放