public class SoundcloudStreamExtractor extends StreamExtractor
StreamExtractor.Privacy
NO_AGE_LIMIT, UNKNOWN_SUBSCRIBER_COUNT
Constructor and Description |
---|
SoundcloudStreamExtractor(StreamingService service,
LinkHandler linkHandler) |
Modifier and Type | Method and Description |
---|---|
List<AudioStream> |
getAudioStreams()
This should return a list of available
AudioStream s. |
String |
getCategory()
The name of the category of the stream.
|
Description |
getDescription()
This is the stream description.
|
String |
getId() |
long |
getLength()
This should return the length of a video in seconds.
|
String |
getLicence()
The name of the licence of the stream.
|
long |
getLikeCount()
The amount of likes a video/audio stream got.
|
String |
getName()
Get the name
|
StreamExtractor.Privacy |
getPrivacy()
The privacy of the stream (Eg.
|
StreamInfoItemsCollector |
getRelatedItems()
Should return a list of streams related to the current handled.
|
StreamType |
getStreamType()
Get the
StreamType . |
List<String> |
getTags()
The list of tags of the stream.
|
String |
getTextualUploadDate()
The original textual date provided by the service.
|
String |
getThumbnailUrl()
This will return the url to the thumbnail of the stream.
|
long |
getTimeStamp()
If the url you are currently handling contains a time stamp/seek, you can return the
position it represents here.
|
DateWrapper |
getUploadDate()
A more general
Calendar instance set to the date provided by the service.Implementations usually will just parse the date returned from the StreamExtractor.getTextualUploadDate() . |
String |
getUploaderAvatarUrl()
The url to the image file/profile picture/avatar of the creator/uploader of the stream.
|
String |
getUploaderName()
The name of the creator/uploader of the stream.
|
String |
getUploaderUrl()
The Url to the page of the creator/uploader of the stream.
|
List<VideoStream> |
getVideoOnlyStreams()
This should return a list of available
VideoStream s. |
List<VideoStream> |
getVideoStreams()
This should return a list of available
VideoStream s. |
long |
getViewCount()
The count of how many people have watched the video/listened to the audio stream.
|
boolean |
isUploaderVerified()
Whether the uploader has been verified by the service's provider.
|
void |
onFetchPage(Downloader downloader)
Fetch the current page.
|
getAgeLimit, getDashMpdUrl, getDislikeCount, getErrorMessage, getFrames, getHlsUrl, getHost, getLanguageInfo, getMetaInfo, getRelatedStreams, getStreamSegments, getSubChannelAvatarUrl, getSubChannelName, getSubChannelUrl, getSubtitles, getSubtitlesDefault, getSupportInfo, getTimestampSeconds, getUploaderSubscriberCount
assertPageFetched, fetchPage, forceContentCountry, forceLocalization, getBaseUrl, getDownloader, getExtractorContentCountry, getExtractorLocalization, getLinkHandler, getOriginalUrl, getService, getServiceId, getTimeAgoParser, getUrl, isPageFetched
public SoundcloudStreamExtractor(StreamingService service, LinkHandler linkHandler)
public void onFetchPage(@Nonnull Downloader downloader) throws IOException, ExtractionException
Extractor
onFetchPage
in class Extractor
downloader
- the downloader to useIOException
- if the page can not be loadedExtractionException
- if the pages content is not understood@Nonnull public String getTextualUploadDate()
StreamExtractor
StreamExtractor.getUploadDate()
isn't provided by the service, or it fails for some reason.
If the stream is a live stream, null
should be returned.
getTextualUploadDate
in class StreamExtractor
null
.StreamExtractor.getUploadDate()
@Nonnull public DateWrapper getUploadDate() throws ParsingException
StreamExtractor
Calendar
instance set to the date provided by the service.StreamExtractor.getTextualUploadDate()
.
If the stream is a live stream, null
should be returned.
getUploadDate
in class StreamExtractor
null
.ParsingException
- if there is an error in the extraction
or the extracted date couldn't be parsed.StreamExtractor.getTextualUploadDate()
@Nonnull public String getThumbnailUrl()
StreamExtractor
getThumbnailUrl
in class StreamExtractor
@Nonnull public Description getDescription()
StreamExtractor
getDescription
in class StreamExtractor
Description.EMPTY_DESCRIPTION
if the
description is empty.public long getLength()
StreamExtractor
getLength
in class StreamExtractor
public long getTimeStamp() throws ParsingException
StreamExtractor
getTimeStamp
in class StreamExtractor
ParsingException
public long getViewCount()
StreamExtractor
getViewCount
in class StreamExtractor
public long getLikeCount()
StreamExtractor
getLikeCount
in class StreamExtractor
@Nonnull public String getUploaderUrl()
StreamExtractor
ChannelExtractor
, so be sure to implement that one before you return a value here,
otherwise NewPipe will crash if one selects this url.getUploaderUrl
in class StreamExtractor
@Nonnull public String getUploaderName()
StreamExtractor
getUploaderName
in class StreamExtractor
public boolean isUploaderVerified() throws ParsingException
StreamExtractor
false
.isUploaderVerified
in class StreamExtractor
ParsingException
@Nonnull public String getUploaderAvatarUrl()
StreamExtractor
getUploaderAvatarUrl
in class StreamExtractor
public List<AudioStream> getAudioStreams() throws ExtractionException
StreamExtractor
AudioStream
s.
You can also return null or an empty list, however be aware that if you don't return anything
in getVideoStreams(), getVideoOnlyStreams() and getDashMpdUrl() either the Collector will
handle this as a failed extraction procedure.getAudioStreams
in class StreamExtractor
ExtractionException
public List<VideoStream> getVideoStreams()
StreamExtractor
VideoStream
s.
Be aware this is the list of video streams which do contain an audio stream.
You can also return null or an empty list, however be aware that if you don't return anything
in getAudioStreams(), getVideoOnlyStreams() and getDashMpdUrl() either the Collector will
handle this as a failed extraction procedure.getVideoStreams
in class StreamExtractor
public List<VideoStream> getVideoOnlyStreams()
StreamExtractor
VideoStream
s.
Be aware this is the list of video streams which do NOT contain an audio stream.
You can also return null or an empty list, however be aware that if you don't return anything
in getAudioStreams(), getVideoStreams() and getDashMpdUrl() either the Collector will handle
this as a failed extraction procedure.getVideoOnlyStreams
in class StreamExtractor
public StreamType getStreamType()
StreamExtractor
StreamType
.getStreamType
in class StreamExtractor
@Nullable public StreamInfoItemsCollector getRelatedItems() throws IOException, ExtractionException
StreamExtractor
null
.getRelatedItems
in class StreamExtractor
IOException
ExtractionException
public StreamExtractor.Privacy getPrivacy()
StreamExtractor
getPrivacy
in class StreamExtractor
@Nonnull public String getCategory()
StreamExtractor
getCategory
in class StreamExtractor
@Nonnull public String getLicence()
StreamExtractor
getLicence
in class StreamExtractor
@Nonnull public List<String> getTags()
StreamExtractor
getTags
in class StreamExtractor