diff options
author | Martin Fietz <Martin.Fietz@gmail.com> | 2015-11-02 15:12:44 +0100 |
---|---|---|
committer | Martin Fietz <Martin.Fietz@gmail.com> | 2015-11-02 15:12:44 +0100 |
commit | 27d146a64b2bc3949df47778d93addb7a09da0f8 (patch) | |
tree | b8458ac446108100c322060d33f1293c4707c260 /library/src | |
parent | ed6a803dfd93e60b531e6e6244fc990d3838fd04 (diff) | |
download | AudioPlayer-27d146a64b2bc3949df47778d93addb7a09da0f8.tar.gz |
Make audio session id publicly accessible
Diffstat (limited to 'library/src')
4 files changed, 21 insertions, 2 deletions
diff --git a/library/src/main/java/org/antennapod/audio/AbstractAudioPlayer.java b/library/src/main/java/org/antennapod/audio/AbstractAudioPlayer.java index cbec776..0630302 100644 --- a/library/src/main/java/org/antennapod/audio/AbstractAudioPlayer.java +++ b/library/src/main/java/org/antennapod/audio/AbstractAudioPlayer.java @@ -35,6 +35,8 @@ public abstract class AbstractAudioPlayer { this.mContext = context; } + public abstract int getAudioSessionId(); + public abstract boolean canSetPitch(); public abstract boolean canSetSpeed(); diff --git a/library/src/main/java/org/antennapod/audio/AndroidAudioPlayer.java b/library/src/main/java/org/antennapod/audio/AndroidAudioPlayer.java index c2a5c9a..2476343 100644 --- a/library/src/main/java/org/antennapod/audio/AndroidAudioPlayer.java +++ b/library/src/main/java/org/antennapod/audio/AndroidAudioPlayer.java @@ -207,6 +207,9 @@ public class AndroidAudioPlayer extends AbstractAudioPlayer { } @Override + public int getAudioSessionId() { + return mp.getAudioSessionId(); + } public boolean canSetPitch() { return false; } diff --git a/library/src/main/java/org/antennapod/audio/ServiceBackedAudioPlayer.java b/library/src/main/java/org/antennapod/audio/ServiceBackedAudioPlayer.java index 9ddf8af..1391152 100644 --- a/library/src/main/java/org/antennapod/audio/ServiceBackedAudioPlayer.java +++ b/library/src/main/java/org/antennapod/audio/ServiceBackedAudioPlayer.java @@ -67,7 +67,7 @@ public class ServiceBackedAudioPlayer extends AbstractAudioPlayer { // android.media.MediaPlayer on the fly, and we don't want to touch the // wrong media player. - private long sessionId = 0; + private int sessionId = 0; private boolean isErroring = false; private int mAudioStreamType = AudioManager.STREAM_MUSIC; @@ -93,7 +93,7 @@ public class ServiceBackedAudioPlayer extends AbstractAudioPlayer { // It exists so that if the client ceases to exist, // the Service becomes aware of that and can shut // down whatever it needs to shut down - ServiceBackedAudioPlayer.this.sessionId = tmpPlayMediaInterface.startSession(new IDeathCallback_0_8.Stub() { + ServiceBackedAudioPlayer.this.sessionId = (int) tmpPlayMediaInterface.startSession(new IDeathCallback_0_8.Stub() { }); // This is really bad if this fails } catch (RemoteException e) { @@ -162,6 +162,11 @@ public class ServiceBackedAudioPlayer extends AbstractAudioPlayer { } } + @Override + public int getAudioSessionId() { + return sessionId; + } + /** * Returns true if pitch can be changed at this moment * @return True if pitch can be changed diff --git a/library/src/main/java/org/antennapod/audio/SonicAudioPlayer.java b/library/src/main/java/org/antennapod/audio/SonicAudioPlayer.java index e0ca67e..d3fa0c4 100644 --- a/library/src/main/java/org/antennapod/audio/SonicAudioPlayer.java +++ b/library/src/main/java/org/antennapod/audio/SonicAudioPlayer.java @@ -92,6 +92,15 @@ public class SonicAudioPlayer extends AbstractAudioPlayer { } @Override + public int getAudioSessionId() { + if(mTrack == null) { + return 0; + } else { + return mTrack.getAudioSessionId(); + } + } + + @Override public boolean canSetPitch() { return true; } |