На фрагменте у меня есть набор кнопок, которые воспроизводят звуки.MediaPlayer Stop code - Где положить?
У меня есть ScrollView и кнопка в LinearLayout, которая застряла в нижней части экрана.
Я застрял на том, где ввести код, который будет гарантировать, что на кнопке нажмите mediaplayer.
Это мой файл SoundsFragment.java, на котором будет размещен код, а моя кнопка называется button_stop. Я уже назвал слушателя для этого, как вы можете видеть, я просто не знаю, где разместить код остановки медиаплеера.
Если бы вы могли отредактировать этот код или предоставить пример, который был бы блестящим, чтобы я мог лучше понять java-макет.
package /example/;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.app.Activity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.view.Menu;
import android.view.View.OnClickListener;
import android.widget.Button;
public class SoundsFragment extends Fragment implements OnClickListener {
private static MediaPlayer mp = null;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_sounds, container, false);
Button button1=(Button)rootView.findViewById(R.id.button_1);
Button button2=(Button)rootView.findViewById(R.id.button_2);
Button button_stop=(Button)rootView.findViewById(R.id.button_stop);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
button_stop.setOnClickListener(this);
return rootView;
}
public void onClick(View v) {
int resId;
switch (v.getId()) {
case R.id.button_1:
resId = R.raw.a;
break;
case R.id.button_2:
resId = R.raw.b;
break;
default:
resId = R.raw.a;
break;
}
// Release any resources from previous MediaPlayer
if (mp != null) {
mp.release();
}
// Create a new MediaPlayer to play this sound
mp = MediaPlayer.create(getActivity(), resId);
mp.setLooping(true);
mp.start();
}
@Override
public void onDestroy() {
if(null!=mp){
mp.release();
}
super.onDestroy();
}
}
Спасибо Tyler, похоже, что он работает точно так же, как должен! Первоначально я не мог работать, создавая отдельную функцию, используя тот же шаблон, что и другие кнопки, которые не работают. – rossd