0
나는 사용자가 특정 부분에서 버튼을 클릭하여 사운드를 재생할 수있는 Android 앱을 개발했습니다. 그러나이 조각을 종료하거나 앱을 종료하면 계속 재생됩니다. 조각을 종료하거나 앱을 종료하면 어떻게 중지합니까?Android : Mediaplayer는 백그라운드에서 계속해서 재생됩니다. 어떻게 그걸 막을 수 있니?
public class PageFragment_Bon extends Fragment implements View.OnClickListener{
public static final String ARG_PAGE = "ARG_PAGE";
private int mPage;
private Button start, stop, replay;
private MediaPlayer mediaPlayer;
int [] filer = new int[18];
public static PageFragment_Bon newInstance(int page) {
Bundle args = new Bundle();
args.putInt(ARG_PAGE, page);
PageFragment_Bon fragment = new PageFragment_Bon();
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPage = getArguments().getInt(ARG_PAGE);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_boenner, container, false);
start = (Button) view.findViewById(R.id.start);
start.setOnClickListener(this);
stop = (Button) view.findViewById(R.id.stop);
stop.setOnClickListener(this);
replay = (Button) view.findViewById(R.id.replay);
replay.setOnClickListener(this);
if(filer[mPage] != 0){
start.setVisibility(View.VISIBLE);
stop.setVisibility(View.VISIBLE);
replay.setVisibility(View.VISIBLE);
mediaPlayer = MediaPlayer.create(getActivity().getBaseContext(), filer[mPage]);
}
@Override
public void onClick(View v) {
if(v == start){
mediaPlayer.start();
}
else if(v == stop){
mediaPlayer.pause();
}
else if(v == replay){
mediaPlayer.seekTo(0);
mediaPlayer.start();
}
}
}
당신의 onclick 방법 변경 '의 OnClick을();' 이제 자동으로 재생되기 시작합니다. –
onCreate에서 mediaplayer obj 생성을 제거합니다. mediaPlayer = MediaPlayer.create (getActivity(). getBaseContext(), filer [mPage]); 이 줄을 onclick –
에 추가하십시오. 내 대답을 업데이트하십시오. onClick을 이와 같이 변경하십시오. –