내 앱에서 두 가지 활동이 있습니다. 첫 번째 단추 (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);
}
}
}
}