在媒体播放器中加载多个音乐媒体
loading multiple music media in mediaplayer
它不会加载 switch case 中声明的歌曲
final ArrayList<Integer> playlist;
playlist = new ArrayList<>();
playlist.add(R.raw.honey);
playlist.add(R.raw.anger);
playlist.add(R.raw.contempt);
playlist.add(R.raw.disgust);
playlist.add(R.raw.fear);
playlist.add(R.raw.happy);
playlist.add(R.raw.sadness);
playlist.add(R.raw.surprise);
MediaPlayer mediaPlayer = null;
Button play = findViewById(R.id.play);
Button pause = findViewById(R.id.pause);
Button jumpToMainActivity = findViewById(R.id.jumpToMainActivity);
mediaPlayer = MediaPlayer.create(this,playlist.get(0));
switch (final_detected_emotion){
case "anger":
mediaPlayer.reset();
mediaPlayer.create(this,playlist.get(1));
break;
case "contempt":
mediaPlayer.reset();
mediaPlayer.create(this,playlist.get(2));
break;
case "disgust":
mediaPlayer.reset();
mediaPlayer.create(this,playlist.get(3));
break;
case "fear":
mediaPlayer.reset();
mediaPlayer.create(this,playlist.get(4));
break;
case "happy":
mediaPlayer.reset();
mediaPlayer.create(this,playlist.get(5));
break;
case "sadness":
mediaPlayer.reset();
mediaPlayer.create(this,playlist.get(6));
break;
case "surprise":
mediaPlayer.reset();
mediaPlayer.create(this,playlist.get(7));
break;
}
final MediaPlayer finalMediaPlayer = mediaPlayer;
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finalMediaPlayer.start();
}
});
它只播放蜂蜜歌曲。传递的字符串 (final_detected_emotion) 发生了变化,但歌曲没有变化。
我会删除媒体播放器对象吗
我制作了可以根据检测到的情绪播放歌曲的应用程序
switch (final_detected_emotion){
case "anger":
mediaPlayer = MediaPlayer.create(this,playlist.get(1));
break;
case "contempt":
mediaPlayer = MediaPlayer.create(this,playlist.get(2));
break;
case "disgust":
mediaPlayer = MediaPlayer.create(this,playlist.get(3));
break;
case "fear":
mediaPlayer = MediaPlayer.create(this,playlist.get(4));
break;
case "happy":
mediaPlayer = MediaPlayer.create(this,playlist.get(5));
break;
case "sadness":
mediaPlayer = MediaPlayer.create(this,playlist.get(6));
break;
case "surprise":
mediaPlayer = MediaPlayer.create(this,playlist.get(7));
break;
default :
mediaPlayer = MediaPlayer.create(this,playlist.get(0));
}
它不会加载 switch case 中声明的歌曲
final ArrayList<Integer> playlist; playlist = new ArrayList<>(); playlist.add(R.raw.honey); playlist.add(R.raw.anger); playlist.add(R.raw.contempt); playlist.add(R.raw.disgust); playlist.add(R.raw.fear); playlist.add(R.raw.happy); playlist.add(R.raw.sadness); playlist.add(R.raw.surprise); MediaPlayer mediaPlayer = null; Button play = findViewById(R.id.play); Button pause = findViewById(R.id.pause); Button jumpToMainActivity = findViewById(R.id.jumpToMainActivity); mediaPlayer = MediaPlayer.create(this,playlist.get(0)); switch (final_detected_emotion){ case "anger": mediaPlayer.reset(); mediaPlayer.create(this,playlist.get(1)); break; case "contempt": mediaPlayer.reset(); mediaPlayer.create(this,playlist.get(2)); break; case "disgust": mediaPlayer.reset(); mediaPlayer.create(this,playlist.get(3)); break; case "fear": mediaPlayer.reset(); mediaPlayer.create(this,playlist.get(4)); break; case "happy": mediaPlayer.reset(); mediaPlayer.create(this,playlist.get(5)); break; case "sadness": mediaPlayer.reset(); mediaPlayer.create(this,playlist.get(6)); break; case "surprise": mediaPlayer.reset(); mediaPlayer.create(this,playlist.get(7)); break; } final MediaPlayer finalMediaPlayer = mediaPlayer; play.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finalMediaPlayer.start(); } });
它只播放蜂蜜歌曲。传递的字符串 (final_detected_emotion) 发生了变化,但歌曲没有变化。
我会删除媒体播放器对象吗
我制作了可以根据检测到的情绪播放歌曲的应用程序
switch (final_detected_emotion){
case "anger":
mediaPlayer = MediaPlayer.create(this,playlist.get(1));
break;
case "contempt":
mediaPlayer = MediaPlayer.create(this,playlist.get(2));
break;
case "disgust":
mediaPlayer = MediaPlayer.create(this,playlist.get(3));
break;
case "fear":
mediaPlayer = MediaPlayer.create(this,playlist.get(4));
break;
case "happy":
mediaPlayer = MediaPlayer.create(this,playlist.get(5));
break;
case "sadness":
mediaPlayer = MediaPlayer.create(this,playlist.get(6));
break;
case "surprise":
mediaPlayer = MediaPlayer.create(this,playlist.get(7));
break;
default :
mediaPlayer = MediaPlayer.create(this,playlist.get(0));
}