gpt4 book ai didi

java - 如何让函数在调用自身之前等待

转载 作者:行者123 更新时间:2023-12-02 09:06:58 25 4
gpt4 key购买 nike

Java、Android Studio

我有一个发牌的功能,直到每个人都拿到牌为止。我想在发牌时播放声音,并且我想停止该功能,持续1或2秒,这样看起来就不会像我在0.1秒内发完所有牌一样。我已经尝试过:

Thread.sleep();

我不想卡住我的应用程序,我只想让递归函数在调用自身之前等待。

最佳答案

您可以使用 Handler().postDeleyed() 播放声音并停止在 Handler 中。一个抽象的例子是这样的:

//code to play sound
new Handler().postDelayed(new Runnable(){
@Override
public void run(){
//stop the sound
}
}, 1000); // 1000 is in millisec which means 1 seconds.

例如这段代码将在 1 秒后播放和暂停音乐:

final MediaPlayer player = new MediaPlayer();
AssetFileDescriptor afd =
this.getResources().openRawResourceFd(R.raw.hangout_ringtone);
player.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(),
afd.getLength());
afd.close();
player.setAudioStreamType(AudioManager.STREAM_ALARM);
player.prepare();
player.start();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mMediaPlayer.stop();
}
}, 1000);//millisec.

关于java - 如何让函数在调用自身之前等待,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59738547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com