[英]App is crashing when I click on a Song in List
The song should play in another intent so I am passing Uri in intent and playing in another activity . 这首歌应该用另一种意图播放,所以我意图通过Uri并在另一种活动中播放。 But as soon as I click on a song App crashes.
但是,一旦我点击一首歌曲,App就会崩溃。 Help
救命
In MainActivity.java - 在MainActivity.java中-
@Override
public void itemClicked(View view, int position) {
Intent intent = new Intent(this,playSong.class);
songData playSong = songList.get(position);
long currSong = playSong.getID();
Uri songUri = ContentUris.withAppendedId(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,currSong);
intent.putExtra("songPosition",songUri);
startActivity(intent);
}
} }
In playSong.java - 在playSong.java中-
package com.example.ray.musico_mp3player;
import android.media.MediaPlayer;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import java.io.IOException;
public class playSong extends AppCompatActivity {
Uri songUri=null;
MediaPlayer mediaPlayer=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_play_song);
songUri = getIntent().getParcelableExtra("songPosition");
mediaPlayer.reset();
try {
mediaPlayer.setDataSource(getApplicationContext(),songUri);
mediaPlayer.prepare();
} catch (IOException e) {
e.printStackTrace();
}
mediaPlayer.start();
}
}
In logcat: 在logcat中:
08-05 14:21:20.945 926-2524/? I/ActivityManager: Removing activity ActivityRecord{1fe06f76 u0 com.example.ray.musico_mp3player/.playSong t62 f} from stack at 1: haveState=true stateNotNeeded=false finishing=true state=DESTROYING
java.lang.RuntimeException: here
at com.android.server.am.ActivityStack.removeHistoryRecordsForAppLocked(ActivityStack.java:4117)
at com.android.server.am.ActivityStack.handleAppDiedLocked(ActivityStack.java:4841)
at com.android.server.am.ActivityStackSupervisor.handleAppDiedLocked(ActivityStackSupervisor.java:3287)
at com.android.server.am.ActivityManagerService.handleAppDiedLocked(ActivityManagerService.java:4983)
at com.android.server.am.ActivityManagerService.appDiedLocked(ActivityManagerService.java:5143)
at com.android.server.am.ActivityManagerService$AppDeathRecipient.binderDied(ActivityManagerService.java:1302)
at android.os.BinderProxy.sendDeathNotice(Binder.java:559)
Please intialise the media player 请初始化媒体播放器
public class playSong extends AppCompatActivity {
Uri songUri=null;
MediaPlayer mediaPlayer=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_play_song);
songUri = getIntent().getParcelableExtra("songPosition");
mediaPlayer = MediaPlayer();//Here the change
mediaPlayer.reset();
try {
mediaPlayer.setDataSource(getApplicationContext(),songUri);
mediaPlayer.prepare();
} catch (IOException e) {
e.printStackTrace();
}
mediaPlayer.start();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.