60
services/soundcloud/SoundcloudStreamInfoItemExtractor.java
Normal file
60
services/soundcloud/SoundcloudStreamInfoItemExtractor.java
Normal file
@@ -0,0 +1,60 @@
|
||||
package org.schabi.newpipe.extractor.services.soundcloud;
|
||||
|
||||
import org.json.JSONObject;
|
||||
import org.schabi.newpipe.extractor.exceptions.ParsingException;
|
||||
import org.schabi.newpipe.extractor.stream.StreamInfoItemExtractor;
|
||||
import org.schabi.newpipe.extractor.stream.StreamType;
|
||||
|
||||
public class SoundcloudStreamInfoItemExtractor implements StreamInfoItemExtractor {
|
||||
|
||||
private final JSONObject searchResult;
|
||||
|
||||
public SoundcloudStreamInfoItemExtractor(JSONObject searchResult) {
|
||||
this.searchResult = searchResult;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getWebPageUrl() {
|
||||
return searchResult.getString("permalink_url");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTitle() {
|
||||
return searchResult.getString("title");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getDuration() {
|
||||
return searchResult.getInt("duration") / 1000;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUploader() {
|
||||
return searchResult.getJSONObject("user").getString("username");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUploadDate() throws ParsingException {
|
||||
return SoundcloudParsingHelper.toTimeAgoString(searchResult.getString("created_at"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getViewCount() {
|
||||
return searchResult.getLong("playback_count");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getThumbnailUrl() {
|
||||
return searchResult.getString("artwork_url");
|
||||
}
|
||||
|
||||
@Override
|
||||
public StreamType getStreamType() {
|
||||
return StreamType.AUDIO_STREAM;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAd() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user