diff --git a/README.md b/README.md index cd30b81f..d9fb0226 100644 --- a/README.md +++ b/README.md @@ -21,12 +21,10 @@ Since this was a small project intended mainly for myself, there are some things * Playlists and favorites will not update automatically when changed * Sorting also requires a reload to take effect * Batch actions are not yet functional -* Some reports of audio playback ending prematurely ## Future Plans I don't currently have plans to add any large features. If I ever find the time, these are some of the items I would potentially include. * Offline downloads -* Transcoding * Support for other media types diff --git a/app/src/main/java/com/dkanada/gramophone/util/MusicUtil.java b/app/src/main/java/com/dkanada/gramophone/util/MusicUtil.java index d463762d..2b9b98ed 100644 --- a/app/src/main/java/com/dkanada/gramophone/util/MusicUtil.java +++ b/app/src/main/java/com/dkanada/gramophone/util/MusicUtil.java @@ -38,14 +38,14 @@ public class MusicUtil { builder.append("?UserId=" + apiClient.getCurrentUserId()); builder.append("&DeviceId=" + apiClient.getDeviceId()); - // web max is 12444445 and 320kbps is 320000 - builder.append("&MaxStreamingBitrate=10000000"); + // web client maximum is 12444445 and 320kbps is 320000 + builder.append("&MaxStreamingBitrate=" + PreferenceUtil.getInstance(App.getInstance()).getMaximumBitrate()); builder.append("&Container=flac"); builder.append("&TranscodingContainer=ts"); builder.append("&TranscodingProtocol=hls"); // preferred codec when transcoding - builder.append("&AudioCodec=aac"); + builder.append("&AudioCodec=" + PreferenceUtil.getInstance(App.getInstance()).getTranscodeCodec()); builder.append("&api_key=" + apiClient.getAccessToken()); Log.i(MusicUtil.class.getName(), "playing audio: " + builder); diff --git a/app/src/main/java/com/dkanada/gramophone/util/PreferenceUtil.java b/app/src/main/java/com/dkanada/gramophone/util/PreferenceUtil.java index 0f666540..1bfdcafc 100644 --- a/app/src/main/java/com/dkanada/gramophone/util/PreferenceUtil.java +++ b/app/src/main/java/com/dkanada/gramophone/util/PreferenceUtil.java @@ -52,6 +52,8 @@ public final class PreferenceUtil { public static final String GENERAL_THEME = "general_theme"; public static final String COLORED_SHORTCUTS = "colored_shortcuts"; + public static final String TRANSCODE_CODEC = "transcode_codec"; + public static final String MAXIMUM_BITRATE = "maximum_bitrate"; public static final String AUDIO_DUCKING = "audio_ducking"; public static final String REMEMBER_SHUFFLE = "remember_shuffle"; @@ -163,6 +165,14 @@ public final class PreferenceUtil { editor.apply(); } + public final String getTranscodeCodec() { + return mPreferences.getString(TRANSCODE_CODEC, "aac"); + } + + public final String getMaximumBitrate() { + return mPreferences.getString(MAXIMUM_BITRATE, "320000"); + } + public final boolean getAudioDucking() { return mPreferences.getBoolean(AUDIO_DUCKING, true); } diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 74485e5c..bbeca4f9 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -12,4 +12,27 @@ black + + @string/codec_aac + @string/codec_mp3 + + + + aac + mp3 + + + + @string/bitrate_unlimited + @string/bitrate_320kbps + @string/bitrate_256kbps + @string/bitrate_128kbps + + + + 10000000 + 320000 + 256000 + 128000 + diff --git a/app/src/main/res/values/donottranslate.xml b/app/src/main/res/values/donottranslate.xml index 4df8e8ba..10ad2126 100644 --- a/app/src/main/res/values/donottranslate.xml +++ b/app/src/main/res/values/donottranslate.xml @@ -18,4 +18,12 @@ \? + Unlimited + 320Kbps + 256Kbps + 128Kbps + + AAC + MP3 + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index bf36ada6..e2f4b2bb 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -76,6 +76,8 @@ Colored app shortcuts Show album cover Blur album cover + Transcode codec + Maximum bitrate Classic design Colored notification Gapless playback diff --git a/app/src/main/res/xml/pref_audio.xml b/app/src/main/res/xml/pref_audio.xml index 3ce9644d..13e6d6fd 100644 --- a/app/src/main/res/xml/pref_audio.xml +++ b/app/src/main/res/xml/pref_audio.xml @@ -4,6 +4,26 @@ + + + +