我想让它只有一个有两个功能的按钮。第一次单击"我想播放",第二次单击"我想暂停它"。当我再次单击它时,它会从上次中断的地方继续。
爪哇端;
媒体播放器海洋;
@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();
}}
活动方面:
<Button
android:id="@+id/play"
android:layout_width="165dp"
android:layout_height="0dp"
android:layout_marginBottom="285dp"
android:background="@drawable/oceansound"
android:onClick="play"
android:text=""/>
使用指示播放器是打开还是关闭的标志:
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;
}
}
}
由于你有 ocean 是媒体播放器对象,你可以检查这首歌是否正在通过 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();
}
}
}
很简单,使用检查变量来跟踪操作。
在 int/布尔值中创建一个全局变量isPlay
,在您的play
中,创建一个 if 语句以检查它是正在播放还是暂停,如果正在播放,ocean.pause();
,将按钮背景设置为暂停,反之亦然。
希望对你有帮助