I\'m using a VideoView in my Android app to display the intro animation.
If the Google Music App is playing music in the background, calling videoview.start() stops
Using both the answers previously given, here is a solution that will resume music after your video ends:
final boolean music_was_playing = ((AudioManager) getSystemService(Context.AUDIO_SERVICE)).isMusicActive();
VideoView vv_Video = (VideoView) findViewById(R.id.intro_video_view);
// play the intro video
vv_Video.setOnCompletionListener( new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer m) {
// resume music if it was playing cause our intro video just paused it temporarily
if (music_was_playing) {
Intent i = new Intent("com.android.music.musicservicecommand");
i.putExtra("command", "play");
sendBroadcast(i);
}
// go to main menu
startActivity(new Intent(IntroActivity.this, MainMenuActivity.class));
}
});
Turns out Google Music App and a few other apps will stop their music when any video starts playing.
In order to make sure I'm not interrupting the listening experience for my users I now skip the intro video if I determine that there is music playing in the background.
To do this:
AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
if (am.isMusicActive()) {
loadApp(); // skip video and go straight to the app
}
else {
videoView.start(); // play video
}
Taken from openVideo() in VideoView.java
Intent i = new Intent("com.android.music.musicservicecommand");
i.putExtra("command", "pause");
mContext.sendBroadcast(i);