【发布时间】:2016-10-17 05:46:36
【问题描述】:
我正在开发一个基本上是音乐库的应用程序,对于每首歌曲,当您按下按钮播放时,歌曲就会开始播放。目前,我的图书馆有 3 个项目,我正在尝试为其中 3 个项目播放 res/raw 中的“sound.mp3”。
我的问题是,当我尝试引用剪辑时,“this, R.raw.sound”下方有一条红色下划线。我看到在大多数情况下,在 onCreate 中调用了“create”,但在我的情况下,这个类不是一个活动,所以我不能这样做......
你们能帮我解决这个问题吗? :)
public class ClipsAdapter extends RecyclerView.Adapter<ClipsAdapter.MyViewHolder> {
private final List<Clips> clip2 = Arrays.asList(
new Clips("Clip 1", "Artist 1"),
new Clips("Clip 2", "Artist 2"),
new Clips("Clip 3", "Artist 3")
);
public class MyViewHolder extends RecyclerView.ViewHolder {
private final TextView title;
private final TextView author;
private final ImageView play;
private Clips currentClip;
MediaPlayer mediaPlayer = new MediaPlayer();
public MyViewHolder(final View itemView) {
super(itemView);
title = ((TextView) itemView.findViewById(R.id.title));
author = ((TextView) itemView.findViewById(R.id.author));
play = ((ImageView) itemView.findViewById(R.id.play));
}
public void display(RandomClips RandomClip) {
currentRandomClip = RandomClip;
title.setText(RandomClip.title);
author.setText(RandomClip.author);
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "Play clip: " + currentClip.title);
mediaPlayer.create(this, R.raw.sound);
if (mediaPlayer.isPlaying())
{
mediaPlayer.stop();
mediaPlayer.reset();
Log.d(TAG, currentRandomClip.title + " has stopped");
}
else
{
mediaPlayer.start();
Log.d(TAG, currentRandomClip.title + " is playing");
}
}
});
}
}
}
【问题讨论】:
标签: java android android-mediaplayer