2016-07-13 3 views
0

내 응용 프로그램에서 두 가지 활동을했습니다. 첫 번째 활동 (MainActivity.java)에는 활동 2 (player.java)를 호출하는 단추가 있고 두 번째 활동에는 오디오 및 중지 단추가 있습니다.오디오가 재생 중입니까? (안드로이드에서)

그래서 내가 직면하고있어 주요 문제는 .. 내가 다른 활동으로 이동 하나에서 두 번째 활동을 시작 클릭 할 때

이 가 자동으로 오디오를 시작 내가 프로그래밍 된 나는 (나는 그것은 자동으로 시작하고 싶어) 언론 중지 오디오 중지 ... 다시 MainActivity 두 번째 작업 (player.java) 다시 작동합니다. 다시 작동합니다. 오디오가 올바르게 시작됩니다. 오디오를 다시 누르면 오디오가 계속 재생됩니다.

그러나 오디오를 멈추지 않고 뒤로 누르고 두 번째 활동 (player.java)을 다시 시작하면 첫 번째 활동을 중지하지 않고 오디오를 다시 시작합니다 ... 그리고 같은 tra ck가 두 번 재생됩니다 ...

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

내 코드 ...

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

코드를 알려주십시오. – sJy

+0

내 코드가 너무 깁니다 ... 그래서 나는 다른 것들을 없애 버렸습니다. 그리고 그냥 공유하고 있습니다. 제가 문제를 얻고있는 곳 ... 그것을 확인해주십시오. 그러면 저를 도울 수 있습니다. 대기 중 ......... –

+0

'PlayerActivity.java'에서'onBackPressed()'를 무시하고 거기서 미디어 플레이어를 중지하십시오. – Abbas

답변

0

(MediaPlayer를 isPlaying에 대한 MediaPlayer를 객체 정적 & 확인하십시오). 시도해보십시오.

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

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

     stop = (Button) findViewById(R.id.stop); 
     stop.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       audio.stop(); 
      } 
     }); 

     if(audio == null) { 
      audio = MediaPlayer.create(getBaseContext(), R.raw.myaudio); 
      audio.start(); 
     } else { 
      if(audio.isPlaying()) { 
       audio.stop(); 
       audio = MediaPlayer.create(getBaseContext(), R.raw.myaudio); 
       audio.start(); 
      } else { 
       audio = MediaPlayer.create(getBaseContext(), R.raw.myaudio); 
       audio.start(); 
      } 
     } 
    } 

} 
+0

Voohooooo ... !!!!!!!! 너는 나의 날을 멋지게 만들었다. ........ 멋지다! 그것은 일했습니다 ... 당신은 굉장합니다 Thankssssss ................ –

관련 문제