mirror of
https://github.com/antebudimir/tempus.git
synced 2026-01-01 09:53:33 +00:00
Removed Jellyfin dependencies
This commit is contained in:
parent
737eaa1822
commit
9495fbd83d
16 changed files with 62 additions and 310 deletions
|
|
@ -1,64 +1,34 @@
|
|||
package com.cappielloantonio.play.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
import com.cappielloantonio.play.App;
|
||||
import com.cappielloantonio.play.R;
|
||||
import com.cappielloantonio.play.glide.CustomGlideRequest;
|
||||
import com.cappielloantonio.play.model.DirectPlayCodec;
|
||||
import com.cappielloantonio.play.model.Song;
|
||||
import com.google.android.exoplayer2.MediaItem;
|
||||
|
||||
import org.jellyfin.apiclient.interaction.ApiClient;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Random;
|
||||
|
||||
public class MusicUtil {
|
||||
private static final String TAG = "MusicUtil";
|
||||
|
||||
public static String getSongFileUri(Song song) {
|
||||
ApiClient apiClient = App.getApiClientInstance(App.getInstance());
|
||||
PreferenceUtil preferenceUtil = PreferenceUtil.getInstance(App.getInstance());
|
||||
String url = App.getSubsonicClientInstance(App.getInstance(), false).getUrl();
|
||||
|
||||
StringBuilder builder = new StringBuilder(256);
|
||||
builder.append(apiClient.getApiUrl());
|
||||
builder.append("/Audio/");
|
||||
builder.append(song.getId());
|
||||
builder.append("/universal");
|
||||
builder.append("?UserId=").append(apiClient.getCurrentUserId());
|
||||
builder.append("&DeviceId=").append(apiClient.getDeviceId());
|
||||
Map<String, String> params = App.getSubsonicClientInstance(App.getInstance(), false).getParams();
|
||||
|
||||
// web client maximum is 12444445 and 320kbps is 320000
|
||||
builder.append("&MaxStreamingBitrate=").append(preferenceUtil.getMaximumBitrate());
|
||||
|
||||
boolean containerAdded = false;
|
||||
for (DirectPlayCodec directPlayCodec : preferenceUtil.getDirectPlayCodecs()) {
|
||||
if (directPlayCodec.selected) {
|
||||
if (!containerAdded) {
|
||||
builder.append("&Container=");
|
||||
containerAdded = true;
|
||||
}
|
||||
|
||||
builder.append(directPlayCodec.codec.value).append(',');
|
||||
}
|
||||
}
|
||||
|
||||
if (containerAdded) {
|
||||
// remove last comma
|
||||
builder.deleteCharAt(builder.length() - 1);
|
||||
}
|
||||
|
||||
builder.append("&TranscodingContainer=ts");
|
||||
builder.append("&TranscodingProtocol=hls");
|
||||
|
||||
// preferred codec when transcoding
|
||||
builder.append("&AudioCodec=").append(preferenceUtil.getTranscodeCodec());
|
||||
builder.append("&api_key=").append(apiClient.getAccessToken());
|
||||
|
||||
Log.i(MusicUtil.class.getName(), "playing audio: " + builder);
|
||||
return builder.toString();
|
||||
return url + "stream" +
|
||||
"?u=" + params.get("u") +
|
||||
"&s=" + params.get("s") +
|
||||
"&t=" + params.get("t") +
|
||||
"&v=" + params.get("v") +
|
||||
"&c=" + params.get("c") +
|
||||
"&id=" + song.getId();
|
||||
}
|
||||
|
||||
public static String getReadableDurationString(long songDurationMillis) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue