Add SoundCloud service (#15)

Add SoundCloud service
This commit is contained in:
wb9688
2017-08-04 16:21:45 +02:00
committed by Mauricio Colli
parent 12bfdf5234
commit f314bec396
19 changed files with 1093 additions and 7 deletions

View 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;
}
}