조각에는 소리를 재생하는 버튼이 있습니다.MediaPlayer 중지 코드 - 넣을 위치는 어디입니까?
화면 하단에 붙어있는 LinearLayout에 ScrollView와 버튼이 있습니다.
버튼을 누르는 mediaplayer가 중지되도록 코드를 입력 할 위치가 막혔습니다.
이것은 내 SoundsFragment.java 파일로 코드를 호스팅하며 내 버튼은 button_stop입니다. 보시다시피 이미 청취자를 불렀습니다. 어디에서 미디어 플레이어 정지 코드를 배치해야할지 모르겠습니다.
이 코드를 편집하거나 훌륭한 예제를 제공하면 자바 레이아웃을 더 잘 이해할 수 있습니다.
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, 다른 onClickListener가 정확히 어떻게 작동하는지 나타납니다! 원래 다른 버튼과 동일한 템플릿을 사용하여 별도의 함수를 만드는 것은 효과가 없습니다. – rossd