![](/img/trans.png)
[英]When I click pause button it paused but when i clicked again play button , it starts the song from start
[英]Changing audio button from play to pause when clicked and vice versa
我想要我的應用程序中的一個播放按鈕,當單擊該按鈕時,它會播放音頻並更改為暫停,而當單擊暫停按鈕時,音頻會停止並且該按鈕更改為再次播放,依此類推。 但是該按鈕無法正常工作。 請幫忙。 我在下面添加我的Java代碼。
public class surah extends AppCompatActivity {
MediaPlayer mp = new MediaPlayer();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_surah);
mp=MediaPlayer.create(surah.this, R.raw.surahkahf);
final ImageView audio = (ImageView)findViewById(R.id.btn);
audio.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(mp.isPlaying()){
mp.stop();
audio.setBackgroundResource(R.drawable.play);
try {
mp.prepare();
}catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else {
mp.start();
audio.setImageResource(R.drawable.pause);
}
}
});
}
}
首先,正如aborocz在評論中提到的那樣,您可能打算暫停播放而不是停止播放,因此要使用的方法是pause()
。 在這種情況下,您無需再次准備MediaPlayer
,它將從恢復播放時暫停的位置開始。
其次, isPlaying()
方法不適用於此目的。 有些比賽條件阻止了期望的行為。 從Android MediaPlayer
文檔中 :
請注意,在播放器引擎中,異步發生從“開始”狀態到“暫停”狀態的轉換,反之亦然。 在對isPlaying()的調用中更新狀態之前,可能需要花費一些時間,對於流式傳輸的內容,狀態更新可能需要花費幾秒鍾的時間。
而是存儲您自己的布爾值。
public class surah extends AppCompatActivity {
private MediaPlayer mp;
private boolean isMediaPlaying = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_surah);
mp = MediaPlayer.create(surah.this, R.raw.surahkahf);
final ImageView audio = (ImageView)findViewById(R.id.btn);
audio.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isMediaPlaying) {
mp.pause();
audio.setBackgroundResource(R.drawable.play);
isMediaPlaying = false;
} else {
mp.start();
audio.setImageResource(R.drawable.pause);
isMediaPlaying = true;
}
}
});
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.