Java 在Android中播放给定时间的音频
我是Android开发新手 在这个应用程序中,我希望音频能够播放一定的时间(比如20秒)。20秒后,它不应该开始播放。我使用了getDuration()方法,但没有得到需要的 代码:Java 在Android中播放给定时间的音频,java,android,audio,media-player,Java,Android,Audio,Media Player,我是Android开发新手 在这个应用程序中,我希望音频能够播放一定的时间(比如20秒)。20秒后,它不应该开始播放。我使用了getDuration()方法,但没有得到需要的 代码: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setVolumeControlS
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setVolumeControlStream(AudioManager.STREAM_MUSIC);
Button button1=(Button)findViewById(R.id.button1);
Button button2=(Button)findViewById(R.id.button2);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
}
public void onClick(View v) {
int resId;
switch (v.getId()) {
case R.id.button1:
resId = R.raw.a;
break;
case R.id.button2:
resId = R.raw.b;
break;
default:
resId = R.raw.a;
break;
}
// Release any resources from previous MediaPlayer
if (mp != null) {
mp.release();
}
mp = MediaPlayer.create(this, resId);
mp.start();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
protected void onDestroy() {
if(null!=mp){
mp.release();
}
super.onDestroy();
}
试着这样做:
mp.start();
Handler handler=new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
mp.stop();
}
}, 20 * 1000);
20秒后,音频将停止。从问题中不清楚您想要实现什么。你这么说是什么意思:20秒后,它不应该开始播放音频应该像示例音频一样播放(即在有限的时间内播放),谢谢@AtulOHolic,这应该可以