При использовании 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();
}