【发布时间】:2018-10-09 00:52:57
【问题描述】:
当媒体播放器播放声音并且手机的方向每次从纵向更改为横向或横向更改为纵向时,每次更改方向时都会再次播放声音。
如何在不播放新声音的情况下继续播放当前以其他方向播放的相同声音?
这是我的代码:
public void SoundStuff(final Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_viewpager_example);
mP = MediaPlayer.create(this, R.raw.c101);
//btn1 = (Button) findViewById(R.id.btnPlay);
tgbtn1 = (ToggleButton) findViewById(R.id.imageButton2);
btnstop1 = (Button) findViewById(R.id.button1);
tgbtn1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
// The toggle is enabled
try {
mP.start();
//tgbtn1.setVisibility(View.GONE);
}
catch (Exception exception) {
Log.v("exception:play", exception.toString());
}
}
else {
// The toggle is disabled
try {
mP.pause();
}
catch (Exception exception) {
Log.v("exception:pause", exception.toString());
}
}
}
});
btnstop1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(mP.isPlaying()){
mP.stop();
}
SoundStuff(savedInstanceState);
ZoomImageView mViewPager = (ZoomImageView) findViewById(R.id.view_pager);
Btn1ImageAdapter adapter = new Btn1ImageAdapter();
mViewPager.setAdapter(adapter);
}
});
【问题讨论】:
-
在启动 MediaPlayer 之前检查
if(!mP.isPlaying())