diff options
author | Martin Fietz <Martin.Fietz@gmail.com> | 2015-11-02 15:13:13 +0100 |
---|---|---|
committer | Martin Fietz <Martin.Fietz@gmail.com> | 2015-11-02 15:13:13 +0100 |
commit | 33d20d5b1489deb2258797004aef04359d7eccc5 (patch) | |
tree | cd85e288c1ff74cafbdc7c1d087bdbacd6156456 | |
parent | 27d146a64b2bc3949df47778d93addb7a09da0f8 (diff) | |
download | AudioPlayer-33d20d5b1489deb2258797004aef04359d7eccc5.tar.gz |
Android mediaplayer: Set pitch and speed on Marshmallow
-rw-r--r-- | build.gradle | 3 | ||||
-rw-r--r-- | library/build.gradle | 8 | ||||
-rw-r--r-- | library/src/main/java/org/antennapod/audio/AndroidAudioPlayer.java | 38 |
3 files changed, 37 insertions, 12 deletions
diff --git a/build.gradle b/build.gradle index c6371d6..4acb2b5 100644 --- a/build.gradle +++ b/build.gradle @@ -6,9 +6,6 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:1.3.1' - - // NOTE: Do not place your application dependencies here; they belong - // in the individual module build.gradle files } } diff --git a/library/build.gradle b/library/build.gradle index b7eacc2..bf282b5 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -1,17 +1,17 @@ apply plugin: 'com.android.library' android { - compileSdkVersion 22 - buildToolsVersion '22.0.1' + compileSdkVersion 23 + buildToolsVersion '23.0.2' defaultConfig { minSdkVersion 9 targetSdkVersion 23 versionCode 1 - versionName "1.0.2" + versionName "1.0.3" } buildTypes { release { - minifyEnabled false + minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } diff --git a/library/src/main/java/org/antennapod/audio/AndroidAudioPlayer.java b/library/src/main/java/org/antennapod/audio/AndroidAudioPlayer.java index 2476343..7b8be82 100644 --- a/library/src/main/java/org/antennapod/audio/AndroidAudioPlayer.java +++ b/library/src/main/java/org/antennapod/audio/AndroidAudioPlayer.java @@ -16,7 +16,9 @@ package org.antennapod.audio; import android.content.Context; import android.media.MediaPlayer; +import android.media.PlaybackParams; import android.net.Uri; +import android.os.Build; import android.util.Log; import java.io.IOException; @@ -210,13 +212,23 @@ public class AndroidAudioPlayer extends AbstractAudioPlayer { public int getAudioSessionId() { return mp.getAudioSessionId(); } + + @Override public boolean canSetPitch() { - return false; + if(Build.VERSION.SDK_INT >= 23) { + return true; + } else { + return false; + } } @Override public boolean canSetSpeed() { - return false; + if(Build.VERSION.SDK_INT >= 23) { + return true; + } else { + return false; + } } @Override @@ -404,18 +416,34 @@ public class AndroidAudioPlayer extends AbstractAudioPlayer { @Override public void setPitchStepsAdjustment(float pitchSteps) { - // Can't! + if(Build.VERSION.SDK_INT < 23) { + return; + } + PlaybackParams params = mp.getPlaybackParams(); + params.setPitch(params.getPitch() + pitchSteps); + mp.setPlaybackParams(params); } @Override public void setPlaybackPitch(float f) { - // Can't! + Log.d(AMP_TAG, "setPlaybackPitch(" + f + ")"); + if (Build.VERSION.SDK_INT < 23) { + return; + } + PlaybackParams params = mp.getPlaybackParams(); + params.setPitch(f); + mp.setPlaybackParams(params); } @Override public void setPlaybackSpeed(float f) { - // Can't! Log.d(AMP_TAG, "setPlaybackSpeed(" + f + ")"); + if (Build.VERSION.SDK_INT < 23) { + return; + } + PlaybackParams params = mp.getPlaybackParams(); + params.setSpeed(f); + mp.setPlaybackParams(params); } @Override |