为了账号安全,请及时绑定邮箱和手机立即绑定

如何在开始活动 X 秒后播放歌曲

如何在开始活动 X 秒后播放歌曲

小怪兽爱吃肉 2022-07-14 09:30:16
我正在创建一个 android 应用程序,我需要一种在开始活动几秒钟后运行歌曲的方法,默认情况下,歌曲在我打开该活动后直接开始。谢谢您的帮助
查看完整描述

3 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

每当您需要在单个线程中等待特定时间段时,您可以使用:


try {

    Thread.sleep(millis);

} catch (InterruptedException e) { }


查看完整回答
反对 回复 2022-07-14
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

您可以使用


 new Handler().postDelayed(new Runnable() {

            @Override

            public void run() {

           //your code

          }

        }, 10000);


查看完整回答
反对 回复 2022-07-14
?
波斯汪

TA贡献1811条经验 获得超4个赞

通过使用Thread.sleep()或SystemClock.sleep()这导致应用程序主线程的阻塞/冻结,

我建议Handler.postDelayed()使用


首先在res/raw 目录下添加你的媒体文件,如果不存在你必须创建它。


右键单击res目录 >>新建>> Android 资源目录


在资源类型上选择原始,然后将您的媒体文件复制到其中,例如“song.mp3”


编码


public class MainActivity extends AppCompatActivity {


//Creating MediaPlayer object

    private MediaPlayer player;


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        new Handler().postDelayed(new Runnable() {

            @Override

            public void run() {

            player = MediaPlayer.create

            (MainActivity.this, R.raw.song); // >> here's choose your song file

                player.start();

            }

        }, 10000); // >> Put time with milliseconds, this will delay the start play for 10 seconds

}


您可能想通过这样的覆盖onStop方法停止歌曲


@Override

protected void onStop() {

    super.onStop();

    if (player.isPlaying())

        player.stop();

}


查看完整回答
反对 回复 2022-07-14
  • 3 回答
  • 0 关注
  • 86 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信