从另一个Android应用程序恢复音乐

时间:2017-09-21 04:12:59

标签: android

我有一个运行Youtube API并在特定视图中播放视频的应用。视频播放时,来自任何后台应用的音乐都会暂停播放。我尝试使用以下代码恢复音乐,该代码运行onBackPressed():

    private void resumeMusic() {
    if(wasMusicPlaying){
        Intent i = new Intent("com.android.music.musicservicecommand");
        i.putExtra("command", "play");
        ExerciseViewer.this.sendBroadcast(i);
    }
}

当我回去时,我无法恢复音乐。我知道这是可能的,因为在使用Snapchat时,背景音乐会在快照视频播放后自动恢复,但我似乎无法在我的应用上获得此功能。

我也尝试过使用“togglepause”代替游戏,但这也不起作用。

1 个答案:

答案 0 :(得分:0)

我没试过这个,但我认为可以使用 Android - MediaPlayer 来实现。 在代码开头输入您的应用程序时,您可以检查音频是否正在播放。 (这应该在致电youtube api之前完成)

mediaPlayer.isPlaying()

如果是,您知道有人进入您的应用程序时正在播放媒体。将其存储在应用程序逻辑中。也许称之为boolean wasplaying,

boolean wasPlaying = mediaPlayer.isPlaying();

退出应用程序时,请检查是否有任何音频播放。如果正在播放任何音频,请将其恢复。

if(wasPlaying){
     mediaPlayer.start(); //resumes mediaplayer audio
}

我不确定代码和媒体播放器是做什么的,但你可以尝试使用这样的逻辑。

您可以查看https://developer.android.com/reference/android/media/MediaPlayer.html

如果媒体播放器无法获取当前播放的音频,这将有助于Track info of currently playing music