package com.wo;import java.io.IOException;import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;public class WoActivity extends Activity {
Button button;
MediaPlayer pass;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button=(Button) this.findViewById(R.id.button);
button.setOnClickListener(new OnClickListener(){ @Override
public void onClick(View v) {
// TODO Auto-generated method stub
pass=new MediaPlayer();
pass=MediaPlayer.create(WoActivity.this, R.raw.pass);//音乐长达1分钟
try {
pass.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
pass.start();
button.setText("音乐播放完毕");
}
});
}
}
我的用意思是将音乐(1分钟)完全播放之后,在按钮上显示文字。
所以我用的是prepare()同步方法。
而实际上,播放音乐和显示文字几乎同时进行。求解。。
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;public class WoActivity extends Activity {
Button button;
MediaPlayer pass;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button=(Button) this.findViewById(R.id.button);
button.setOnClickListener(new OnClickListener(){ @Override
public void onClick(View v) {
// TODO Auto-generated method stub
pass=new MediaPlayer();
pass=MediaPlayer.create(WoActivity.this, R.raw.pass);//音乐长达1分钟
try {
pass.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
pass.start();
button.setText("音乐播放完毕");
}
});
}
}
我的用意思是将音乐(1分钟)完全播放之后,在按钮上显示文字。
所以我用的是prepare()同步方法。
而实际上,播放音乐和显示文字几乎同时进行。求解。。
new MediaPlayer.OnCompletionListener()
{
@Override
public void onCompletion(MediaPlayer mp) {
MusicActivy.this.PlayMID.setText("音乐播放完毕");
}
});