App 的背景音乐应该有自己的主线吗?
Should an App's background music have a thread of it's own?
我正在尝试构建一个应用程序,只要调用 onCreate() 就会播放一段音乐,我希望这段音乐在整个应用程序中播放,即跨活动播放。到目前为止,我所做的是在 OnCreate() 中创建一个线程,我将其称为 backgroundMusic,在其中我从原始文件夹中的音乐片段创建了一个 MediaPlayer 对象。考虑到音乐本身只播放一分钟左右,而在应用程序上花费的平均时间更多,我做了一个 while 循环,只要应用程序是 运行 检查音乐是否正在播放,如果没有则调用开始();
backgroundMusic = new Thread(new Runnable() {
@Override
public void run() {
while ( appIsRunning ){
if( ! music.isPlaying () ){
music.start();
}
}
}
});backgroundMusic.start();
代码运行得很好,但是我确实注意到了一些延迟,尤其是后来当其他一些线程和图像得到 loaded.what 我想问一下,这是播放背景音乐的合适方式吗?有更好更有效的方法吗?
另外,如何让音乐在应用程序关闭时停止?
is this an appropriate way to play background Music?
不,您需要在服务上声明音乐。一项服务:
将独立于 activity LifeCycle 因此当 Activity 关闭时音乐将继续播放
可以在来电等需要时暂停
Here 可以帮助您入门。编码愉快!
我正在尝试构建一个应用程序,只要调用 onCreate() 就会播放一段音乐,我希望这段音乐在整个应用程序中播放,即跨活动播放。到目前为止,我所做的是在 OnCreate() 中创建一个线程,我将其称为 backgroundMusic,在其中我从原始文件夹中的音乐片段创建了一个 MediaPlayer 对象。考虑到音乐本身只播放一分钟左右,而在应用程序上花费的平均时间更多,我做了一个 while 循环,只要应用程序是 运行 检查音乐是否正在播放,如果没有则调用开始();
backgroundMusic = new Thread(new Runnable() {
@Override
public void run() {
while ( appIsRunning ){
if( ! music.isPlaying () ){
music.start();
}
}
}
});backgroundMusic.start();
代码运行得很好,但是我确实注意到了一些延迟,尤其是后来当其他一些线程和图像得到 loaded.what 我想问一下,这是播放背景音乐的合适方式吗?有更好更有效的方法吗? 另外,如何让音乐在应用程序关闭时停止?
is this an appropriate way to play background Music?
不,您需要在服务上声明音乐。一项服务:
将独立于 activity LifeCycle 因此当 Activity 关闭时音乐将继续播放
可以在来电等需要时暂停
Here 可以帮助您入门。编码愉快!