如何在开始 activity 后 X 秒后播放歌曲
How to play song after X seconds from starting an activity
我正在创建一个 android 应用程序,我需要一种在开始 activity 几秒钟后播放 运行 歌曲的方法,默认情况下,歌曲在我打开 activity 后直接开始播放 activity。
谢谢你的帮助
每当需要在单个线程中等待特定时间段时,可以使用:
try {
Thread.sleep(millis);
} catch (InterruptedException e) { }
通过使用 Thread.sleep()
或 SystemClock.sleep()
这导致应用程序的主线程 blocking/freezing,
我建议改用 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
}
you may want to stop the song by override onStop
method like this
@Override
protected void onStop() {
super.onStop();
if (player.isPlaying())
player.stop();
}
你可以使用
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
//your code
}
}, 10000);
我正在创建一个 android 应用程序,我需要一种在开始 activity 几秒钟后播放 运行 歌曲的方法,默认情况下,歌曲在我打开 activity 后直接开始播放 activity。 谢谢你的帮助
每当需要在单个线程中等待特定时间段时,可以使用:
try {
Thread.sleep(millis);
} catch (InterruptedException e) { }
通过使用 Thread.sleep()
或 SystemClock.sleep()
这导致应用程序的主线程 blocking/freezing,
我建议改用 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
}
you may want to stop the song by override
onStop
method like this
@Override
protected void onStop() {
super.onStop();
if (player.isPlaying())
player.stop();
}
你可以使用
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
//your code
}
}, 10000);