当前位置: 代码迷 >> Android >> 关于Mediaplayer的reset()的疑义。
  详细解决方案

关于Mediaplayer的reset()的疑义。

热度:43   发布时间:2016-05-01 12:12:36.0
关于Mediaplayer的reset()的疑问。。。。
首先很感谢CSDN论坛各位大虾对我的帮助、已经让我解决了不少问题!!

这次的问题还是在Mediaplayer上、reset()、让我不太明白、
在下面java代码的第78行。有一个被注销的reset()、我添加reset的目的是想、如果Mediaplayer在上次播放时出现了错误、我重新启动的时候能够重置一下、保证第二次不出错。

java代码:

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();
try {
player.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
});
        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.reset();
player.setDataSource(path);
player.prepare();
} catch (IllegalArgumentException e) {
  相关解决方案