【发布时间】:2016-07-14 21:16:14
【问题描述】:
我的应用中有两个活动,第一个 (MainActivity.java) 有一个按钮来调用活动二 (player.java),第二个有音频和一个停止按钮。
所以我面临的主要问题是..
当我单击从一个开始第二个活动时,它会转到另一个活动, 当我编程它自动启动音频(我希望它自动启动)我按下停止音频停止......然后回到 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);
}
}
}
}
【问题讨论】:
-
请分享您的代码。
-
我的代码太长了...所以我剪掉了其他的东西...然后分享了我遇到问题的地方...请检查一下,如果你能帮助我,请伙计……我在等…………
-
尝试在您的
PlayerActivity.java中覆盖onBackPressed()并在那里停止媒体播放器。
标签: java android audio android-mediaplayer