Java 如何在所有活动中播放声音
我想在我所有的活动中使用我的声音,而不仅仅是主要的活动。我把这条线Java 如何在所有活动中播放声音,java,android,Java,Android,我想在我所有的活动中使用我的声音,而不仅仅是主要的活动。我把这条线 MediaPlayer ring = MediaPlayer.create(MainActivity.this, R.raw.song); ring.start(); 但这只适用于主要活动 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVi
MediaPlayer ring = MediaPlayer.create(MainActivity.this, R.raw.song);
ring.start();
但这只适用于主要活动
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MediaPlayer ring = MediaPlayer.create(MainActivity.this, R.raw.song);
ring.start();
你可以试试这样的 1。将此代码添加到您的所有活动中
MediaPlayer ring = MediaPlayer.create(MainActivity.this,
R.raw.song);
ring.start();
2。创建一个这样的方法,并从您想要播放音乐的活动中调用此消息
public void Playmusic(Context context){
MediaPlayer ring = MediaPlayer.create(context, R.raw.song);
ring.start();
}
现在只需像这样调用此方法
Playmusic(MainActivity.this);
在服务中播放歌曲,并仅在服务中初始化媒体播放器对象
Intent svc=new Intent(this, BackgroundSoundService.class);
startService(svc);
public class BackgroundSoundService extends Service {
private static final String TAG = null;
MediaPlayer player;
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
player = MediaPlayer.create(this, R.raw.idil);
player.setLooping(true); // Set looping
player.setVolume(100,100);
}
public int onStartCommand(Intent intent, int flags, int startId) {
player.start();
return 1;
}
public void onStart(Intent intent, int startId) {
// TO DO
}
public IBinder onUnBind(Intent arg0) {
// TO DO Auto-generated method
return null;
}
public void onStop() {
}
public void onPause() {
}
@Override
public void onDestroy() {
player.stop();
player.release();
}
@Override
public void onLowMemory() {
}
}
请在清单中调用此服务
<service android:enabled="true" android:name=".BackgroundSoundService " />
一次只有一个活动处于活动状态。为什么你认为它的工作方式不同?这是一种可能的方式。您可以通过一个活动和多个片段来实现这一点。您可以在不中断音乐的情况下在活动中加载片段。或者你可以在你的应用程序类中这样做。我在这个项目中没有使用片段,只是使用活动。这就是我想做的,在不中断的情况下加载音乐。但是对于活动,我在哪里可以找到你提到的方法?我创建了一个类来将它放在那里或什么?如果在MainActivity
中添加此方法,而不是在其他活动中调用此方法,例如MainActivity.Playmusic(YourOtherActivity.this),则可以在活动中的任何位置使用此方法代码>