我只想使它具有两个功能的一个按钮。首先单击我要播放它,然后单击我要暂停它。当我再次单击它时,它会从中断处继续。
JAVA侧面;
MediaPlayer海洋;
DECLARE
CURSOR CUR_DAILY_UPDATE IS
select id, amount,status from trxn;
REC_LON_UP CUR_DAILY_UPDATE%ROWTYPE;
BEGIN
OPEN CUR_DAILY_UPDATE;
LOOP
FETCH CUR_DAILY_UPDATE INTO REC_LON_UP;
EXIT WHEN CUR_DAILY_UPDATE%NOTFOUND;
UPDATE trxn_dup FINAL_TAB
SET FINAL_TAB.amount = REC_LON_UP.amount
,FINAL_TAB.status = REC_LON_UP.status
WHERE FINAL_TAB.id = REC_LON_UP.id;
END LOOP;
COMMIT;
CLOSE CUR_DAILY_UPDATE;
END;
活动侧:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sound);
ocean=MediaPlayer.create(Sound.this,R.raw.ocean);
}
public void play(View v){
ocean.start();
}
public void pause(View V){
ocean.pause();
}}
答案 0 :(得分:2)
使用一个标志来指示播放器是打开还是关闭:
Boolean isOn = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sound);
ocean=MediaPlayer.create(Sound.this,R.raw.ocean);
}
public void play(View v){
if (!isOn) {
ocean.start();
isOn = true;
} else {
ocean.pause();
isOn = false;
}
}
}
答案 1 :(得分:2)
由于海洋是MediaPlayer对象,因此可以通过ocean.isPlaying()检查歌曲是否正在播放,希望对您有帮助。
public class MainActivity extends AppCompatActivity {
MediaPlayer ocean;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sound);
ocean = MediaPlayer.create(this, R.raw.ocean);
}
public void play(View view) {
if (ocean.isPlaying()) {
ocean.pause();
} else {
ocean.start();
}
}
}
答案 2 :(得分:0)
很简单,使用一个checker变量来跟踪动作。
在int / boolean中,在您的isPlay
中创建一个全局变量play
,并通过if语句检查它是否正在播放或暂停。如果正在播放ocean.pause();
,请设置按钮背景暂停,反之亦然。
希望有帮助