android播放器,点击暂停,再点暂停按钮可以继续播放,要是点播放按钮从头播放了

花谢尊前不敢香 2012-08-08 03:39:22
public void mediaplay(View v) {
switch (v.getId()) {
case R.id.playbutton:
String filename = filenames.toString();

File file = new File(Environment.getExternalStorageDirectory(),
filename);
if (file.exists()) {
path = pathload;
play(0);
} else {
path = null;
Toast.makeText(this, R.string.filenoexsit, 1).show();
}
break;

case R.id.pausebutton:
if (mediaPlayer.isPlaying()) {
mediaPlayer.pause();
pause = true;
} else {
if (pause) {
mediaPlayer.start();
pause = false;
}
}
break;

case R.id.resetbutton:
if (mediaPlayer.isPlaying()) {
mediaPlayer.seekTo(0);
} else {
if (path != null) {
play(0);
}
}
break;
case R.id.stopbutton:
if (mediaPlayer.isPlaying()) {
mediaPlayer.stop();
}
break;
}
}

private void play(int position) {
try {
mediaPlayer.reset();
mediaPlayer.setDataSource(path);
mediaPlayer.setDisplay(surfaceView.getHolder());
mediaPlayer.prepare();// 缓冲
mediaPlayer.setOnPreparedListener(new PrepareListener(position));
} catch (Exception e) {
e.printStackTrace();
}
}

private final class PrepareListener implements OnPreparedListener {
private int position;

public PrepareListener(int position) {
this.position = position;
}

public void onPrepared(MediaPlayer mp) {
mediaPlayer.start();// 播放视频
if (position > 0)
mediaPlayer.seekTo(position);
}
}
怎么判断啊
...全文
5321 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 aminfo 的回复:]
改case R.id.playbutton:这段代码



Java code


case R.id.playbutton:
if (pause && mediaPlayer!=null)
{
mediaPlayer.start();
pause = false;
}
else
{
String filename = filenames.toStri……
[/Quote]谢谢,我的注意力都放在
 if (file.exists()) {
path = pathload;
play(0);
} else {
path = null;
Toast.makeText(this, R.string.filenoexsit, 1).show();
}
这里了,晕死。
鄙人姓胡 2012-08-08
  • 打赏
  • 举报
回复
点击播放的时候,先判断一下当前音乐的播放状态:

如果是停止状态:从头播放即可
如果是暂停状态:直接start()就行了
如果是播放状态:应该是不让点击的

一般暂停、播放是用一个按钮控制的,只需要换不同的背景图片就可以了,
看楼主的描述,应该是将播放、暂停分开处理的吧,这样在逻辑处理上会麻烦许多
AMinfo 2012-08-08
  • 打赏
  • 举报
回复
改case R.id.playbutton:这段代码



case R.id.playbutton:
if (pause && mediaPlayer!=null)
{
mediaPlayer.start();
pause = false;
}
else
{
String filename = filenames.toString();

File file = new File(Environment.getExternalStorageDirectory(),
filename);
if (file.exists()) {
path = pathload;
play(0);
} else {
path = null;
Toast.makeText(this, R.string.filenoexsit, 1).show();
}

}
break;

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧