Как воспроизвести песню через X секунд после начала занятия - PullRequest
0 голосов
/ 01 марта 2019

Я создаю приложение для Android, мне нужен способ запустить песню через несколько секунд после начала активности, по умолчанию песня запускается сразу после того, как я открываю эту активность.спасибо за вашу помощь

Ответы [ 3 ]

0 голосов
/ 01 марта 2019

При использовании Thread.sleep() или SystemClock.sleep() это вызывает блокировку / замораживание основного потока приложения,Я предлагаю использовать Handler.postDelayed() вместо

сначала добавьте медиафайл в каталог res / raw , если его не существует, вы должны его создать.

щелкните правой кнопкой мыши каталог res >> new >> Каталог ресурсов Android

в качестве типа ресурса выберите raw, затем скопируйте в него медиафайл, например «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();
}
0 голосов
/ 01 марта 2019

вы можете использовать

 new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
           //your code
          }
        }, 10000);
0 голосов
/ 01 марта 2019

Всякий раз, когда вам нужно подождать определенный период времени в одном потоке, вы можете использовать:

try {
    Thread.sleep(millis);
} catch (InterruptedException e) { }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...