2016-07-14 2 views
-1

내 앱에서 두 가지 활동이 있습니다. 첫 번째 단추 (MainActivity.java)에는 활동 2 (Player.java)를 호출하는 단추가 있고 두 번째 단추에는 오디오 및 중지 단추가 있습니다.오디오가 재생 중입니까? (Android)

내가 직면하고있어 주요 문제는 : 나는 하나에서 두 번째 활동을 시작 클릭하면

, 그것은 다른 활동에 간다. 프로그래밍을 마치면 자동으로 오디오가 시작됩니다 (자동으로 시작되기를 원합니다). 오디오 중지 중지를 누릅니다. 그런 다음 MainActivity 두 번째 활동 (Player.java)을 다시 호출하면 다시 정상적으로 작동합니다. 다시 오디오를 올바르게 시작합니다. 오디오를 계속 누르고 있으면 모든 것이 잘 작동합니다. (그게 내가 원하는거야).

그러나 오디오를 중단하지 않고 뒤로 누르고 두 번째 활동 (Player.java)을 다시 시작하면 첫 번째 활동을 중지하지 않고 오디오를 다시 시작합니다. 그리고 같은 트랙은 두 번 재생됩니다.

한 번에 하나의 트랙 만 재생하고 싶습니다. 다른 오디오가 재생 중이면 해당 활동을 다시 시작할 때 중지하십시오. 여기

내 코드입니다 :

MainActivity.java

package com.test.myapp; 

import android.app.*; 
import android.os.*; 
import android.content.*; 
import android.widget.*; 
import android.view.*; 

public class MainActivity extends Activity { 
    Button btn; 

    @Override 
    public void onCreate(Bundle savedIntanceState) { 
     super.onCreate(savedIntanceState); 
     setContentView(R.layout.activity_main); 

     btn = (Button) findViewById(R.id.button); 

     public void clicked(View v){ 
      if (v.getId() == R.id.button){ 
       Intent i = new Intent (MainActivity.this, player.class); 
       startActivity(i); 
      } 
     } 
    } 
} 

Player.java

package com.test.myapp; 

import android.app.*; 
import android.os.*; 
import android.content.*; 
import android.widget.*; 
import android.view.*; 
import android.media.*; 

public class player extends Activity { 
    Button stop; 
    MediaPlayer audio; 

    @Override 
    public void onCreate(Bundle savedIntanceState) { 
     super.onCreate(savedIntanceState); 
     setContentView(R.layout.player); 

     stop= (Button) findViewById(R.id.stop); 
     audio = MediaPlayer.create(getBaseContext(), R.raw.myAudio); 
     audio.start(); 

     public void stop(View v){ 
      if (v.getId() == R.id.stop){ 
       audio.stop(); 
       audio = MediaPlayer.create(getBaseContext(), R.raw.myAudio); 
      } 
     } 
    } 
} 

답변

0

당신은() 메소드 선수 활동 onPause에 audio.stop 호출해야 사용자가 뒤로 버튼을 누르면 오디오 재생은 활동 라이프 사이클과 무관 한 시스템 서비스입니다.

당신의 활동은 오디오를 가까이서 멈추게하고 다시 시작할 때 다시 재생할 수있게합니다.

관련 문제