【发布时间】:2016-08-16 12:51:40
【问题描述】:
我是一名初学者,我首先创建了一个有很多电台的广播应用,但我遇到了一个问题。
当我为收音机点击“播放”时,它开始播放,然后我回到先前的活动(电台列表),当我再次回到正在播放的同一个收音机并点击“暂停”时,它会扩散“不”玩”。 (我做了一个祝酒词,这样当我在收音机未播放时点击“暂停”时,它会扩散“未播放”)但收音机仍在“播放”。
这是 2 个按钮(播放和暂停)的代码:
btnPlayMFM.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isOnline() == true) {
if (isPlaying() == false) {
Toast t = Toast.makeText(MosaiqueFM.this, "Loading \nPlease Wait", 10000);
t.show();
try {
mediaPlayer.reset();
mediaPlayer.setDataSource(stream_url);
mediaPlayer.prepareAsync();
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
} catch (IOException e) {
e.printStackTrace();
}
} else if (isPlaying() == true) {
Toast t2 = Toast.makeText(MosaiqueFM.this, "Playing", 2000);
t2.show();
}
}
if (isOnline() == false){
Toast t = Toast.makeText(MosaiqueFM.this, "Internet Connection Required", 3000);
t.show();
}
}
});
btnPauseMFM.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isPlaying() == true) {
mediaPlayer.stop();
} else if (isPlaying() == false){
Toast t = Toast.makeText(MosaiqueFM.this, "Not Playing", 2000);
t.show();
}
}
});
public boolean isPlaying() {
return(mediaPlayer != null && mediaPlayer.isPlaying());
}
public boolean isOnline() {
cm = (ConnectivityManager) getSystemService(this.CONNECTIVITY_SERVICE);
return cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isConnectedOrConnecting();
}
【问题讨论】:
-
您好,我已经编辑了您的问题以使其更具可读性,并且我注意到您可能有一个错误。在执行
btnPauseMFM.setOnClickListener之前,您不会关闭btnPlayMFM.setOnClickListener(,因此您在为播放按钮设置侦听器的部分内设置了暂停按钮的侦听器。 -
另外,请阅读this guide 了解如何提出一个好问题,因为它会介绍一些必要的细节以使问题成为一个好问题。我注意到的是你的问题的标题。看起来您的标题并没有解释您的问题,而是解释了您发布问题的原因。确保您的标题尽可能详细地说明您的具体问题。
标签: java android android-studio android-intent radio