java - 在媒体播放器中加载多个音乐媒体
问题描述
它不会加载开关盒中声明的歌曲
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));
}
推荐阅读
- php - 如何将附加参数传递给 Laravel 登录控制器中的 handleProviderCallback 函数
- python - PyMongo 查询问题:递增嵌套的 dict 条目
- css - 这个序列的第 n 项是什么?
- c# - BizTalk 自定义管道组件 - 读取 JSON 节点值并提升属性
- terraform - 无服务器部署到不同的 AWS 账户
- javascript - React js:将 props 传递给 React Router 的 Link 组件
- u-boot - U-boot:如何检查 tftp 命令是否成功将映像加载到 ram 中?
- maven - maven jar 在一个 war 模块中部署了两次,attachClasses 设置为 true
- javascript - 如何通过 VPN 打开 iframe 链接
- python - 如何将 Pandas 中的两位年份整数转换为四位数字?