首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

有人在应用Mediaplayer的时候试验过这样做吗

2012-12-23 
有人在使用Mediaplayer的时候试验过这样做吗?小弟最近在看Mediaplayer、、、今天突然发现一个问题、在播放的时

有人在使用Mediaplayer的时候试验过这样做吗?
小弟最近在看Mediaplayer、、、今天突然发现一个问题、
在播放的时候按下暂停键、、在按下停止键、、、然后点播放键的时候是接在暂停那个位置开始播放的、
如果在播放的时候直接按停止键、、、、是正常的。。。百思不得其解、、、、
求指点!

在线等。。。。
[最优解释]

引用:
引用:同2楼 不贴代码没法帮啊 如果逻辑和代码对了的话不会出现你那种情况。代码补上了。。。。

stop1.setOnClickListener(new OnClickListener() {
             
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                play1.setEnabled(true);
                stop1.setEnabled(false);
                pause1.setEnabled(false);
                    if(player.isPlaying()){
                    player.stop();
                    player.reset();
                     
                    player.release();
                }
            }
        });

果然是逻辑错误 你的判断条件是if(player.isPlaying)
才会执行停止的一系列操作。
当你暂停的时候,player.isPlaying是false
所以根本不会执行停止操作,所以当你点暂停,再点停止的时候,是不会执行任何操作的。
修改一下你的判断条件吧。
[其他解释]
贴代码出来。。。没代码不知道那里错了
[其他解释]
同2楼 不贴代码没法帮啊 如果逻辑和代码对了的话不会出现你那种情况。
[其他解释]
引用:
贴代码出来。。。没代码不知道那里错了

public class MainActivity extends Activity implements MediaPlayer.OnCompletionListener {
private ImageButton play1,pause1,stop1;
MediaPlayer player=new MediaPlayer();
    private String path="/sdcard/music/奔.mp3";
    private Button sousuo;
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        play1=(ImageButton)findViewById(R.id.play);
        pause1=(ImageButton)findViewById(R.id.pause);
        stop1=(ImageButton)findViewById(R.id.stop);
        sousuo=(Button)findViewById(R.id.sousuo);
        play1.setEnabled(true);


        pause1.setEnabled(false);
        stop1.setEnabled(false);
        
        setMedia();
        
        play1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
playing();
}
});
        stop1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
play1.setEnabled(true);
stop1.setEnabled(false);
pause1.setEnabled(false);
if(player.isPlaying()){
player.stop();
player.reset();

player.release();
}
}
});
        pause1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
play1.setEnabled(true);
stop1.setEnabled(true);
pause1.setEnabled(false);
player.pause();
}
});
        sousuo.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent=new Intent();
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.setType("Audio/*");
startActivityForResult(intent, 0);
}
});
      
}
public void setMedia(){

try {
player.release();
player=new MediaPlayer();
//player.reset();
File file=new File(path);
FileInputStream fs=new FileInputStream(file.getAbsolutePath());
player.setDataSource(fs.getFD());
player.prepare();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void onActivityResult(int i,int b,Intent intent){
if(intent!=null){
Uri uri=intent.getData();
String p=uri.toString().substring(52);
System.out.println(p);
System.out.println("path="+path);
path=p;
setMedia();
System.out.println(path+"=path");
}
}
public void playing(){

if(path!=null&& !path.equals("")){
play1.setEnabled(false);
stop1.setEnabled(true);
pause1.setEnabled(true);
player.start();
}
}
@Override
public void onCompletion(MediaPlayer arg0) {
// TODO Auto-generated method stub
player.release();
play1.setEnabled(true);
stop1.setEnabled(false);
pause1.setEnabled(false);

}
}


不好意思、、、、、代码补上、
[其他解释]
引用:
同2楼 不贴代码没法帮啊 如果逻辑和代码对了的话不会出现你那种情况。

代码补上了。。。。
[其他解释]
积分
[其他解释]
积分
[其他解释]
引用:
引用:
引用:同2楼 不贴代码没法帮啊 如果逻辑和代码对了的话不会出现你那种情况。代码补上了。。。。
stop1.setOnClickListener(new OnClickListener() {
             
            @Override
            public void……
谢!是我太粗心大意了。
[其他解释]
引用:
引用:引用:
引用:同2楼 不贴代码没法帮啊 如果逻辑和代码对了的话不会出现你那种情况。代码补上了。。。。
stop1.setOnClickListener(new OnClickListener() {
             
            @Ov……

客气
[其他解释]
该回复于2012-12-06 08:43:31被管理员删除
[其他解释]
不错不想错 恩恩
[其他解释]
该回复于2012-12-04 16:01:42被管理员删除
[其他解释]
该回复于2012-12-04 16:35:51被管理员删除
[其他解释]
不错啊辅导费
[其他解释]
不错啊辅导费 
[其他解释]
该回复于2012-12-05 10:08:12被管理员删除
[其他解释]
该回复于2012-12-06 08:43:47被管理员删除
[其他解释]
不错啊   不错
[其他解释]
不懂啊。
[其他解释]
自己顶一个,可以下载下来参考参考。 
[其他解释]
嗯,不错啊!谢谢分享
[其他解释]
学习了,呵呵。
[其他解释]
没分伤不起ddd
[其他解释]
该回复于2012-12-08 14:16:56被管理员删除
[其他解释]
null
[其他解释]
看看,挺不错的!
[其他解释]
null

热点排行