Merge pull request #3402 from ByteHamster/audiofocus-gain-continue
Restart service when re-gaining audio focus
This commit is contained in:
commit
204e759136
@ -12,6 +12,7 @@ import android.util.Log;
|
|||||||
import android.util.Pair;
|
import android.util.Pair;
|
||||||
import android.view.SurfaceHolder;
|
import android.view.SurfaceHolder;
|
||||||
|
|
||||||
|
import de.danoeh.antennapod.core.util.playback.PlaybackServiceStarter;
|
||||||
import org.antennapod.audio.MediaPlayer;
|
import org.antennapod.audio.MediaPlayer;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@ -705,7 +706,6 @@ public class LocalPSMP extends PlaybackServiceMediaPlayer {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void shutdown() {
|
public void shutdown() {
|
||||||
abandonAudioFocus();
|
|
||||||
executor.shutdown();
|
executor.shutdown();
|
||||||
if (mediaPlayer != null) {
|
if (mediaPlayer != null) {
|
||||||
try {
|
try {
|
||||||
@ -839,6 +839,19 @@ public class LocalPSMP extends PlaybackServiceMediaPlayer {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAudioFocusChange(final int focusChange) {
|
public void onAudioFocusChange(final int focusChange) {
|
||||||
|
if (!PlaybackService.isRunning) {
|
||||||
|
abandonAudioFocus();
|
||||||
|
Log.d(TAG, "onAudioFocusChange: PlaybackService is no longer running");
|
||||||
|
if (focusChange == AudioManager.AUDIOFOCUS_GAIN && pausedBecauseOfTransientAudiofocusLoss) {
|
||||||
|
new PlaybackServiceStarter(context, getPlayable())
|
||||||
|
.startWhenPrepared(true)
|
||||||
|
.streamIfLastWasStream()
|
||||||
|
.callEvenIfRunning(false)
|
||||||
|
.start();
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
executor.submit(() -> {
|
executor.submit(() -> {
|
||||||
playerLock.lock();
|
playerLock.lock();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user