Class YoutubeMpegStreamAudioTrack
- java.lang.Object
-
- com.sedmelluq.discord.lavaplayer.track.BaseAudioTrack
-
- com.sedmelluq.discord.lavaplayer.container.mpeg.MpegAudioTrack
-
- com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeMpegStreamAudioTrack
-
- All Implemented Interfaces:
AudioItem,AudioTrack,InternalAudioTrack,AudioFrameProvider
public class YoutubeMpegStreamAudioTrack extends MpegAudioTrack
YouTube segmented MPEG stream track. The base URL always gives the latest chunk. Every chunk contains the current sequence number in it, which is used to get the sequence number of the next segment. This is repeated until YouTube responds to a segment request with 204.
-
-
Field Summary
-
Fields inherited from class com.sedmelluq.discord.lavaplayer.track.BaseAudioTrack
accurateDuration, trackInfo
-
-
Constructor Summary
Constructors Constructor Description YoutubeMpegStreamAudioTrack(AudioTrackInfo trackInfo, HttpInterface httpInterface, java.net.URI signedUrl)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description longgetDuration()longgetPosition()voidprocess(LocalAudioTrackExecutor localExecutor)Perform any necessary loading and then enter the read/seek loopvoidsetPosition(long position)Seek to the specified position.-
Methods inherited from class com.sedmelluq.discord.lavaplayer.container.mpeg.MpegAudioTrack
loadAudioTrack
-
Methods inherited from class com.sedmelluq.discord.lavaplayer.track.BaseAudioTrack
addMarker, assignExecutor, createLocalExecutor, getActiveExecutor, getIdentifier, getInfo, getSourceManager, getState, getUserData, getUserData, isSeekable, makeClone, makeShallowClone, provide, provide, provide, provide, removeMarker, setMarker, setUserData, stop
-
-
-
-
Constructor Detail
-
YoutubeMpegStreamAudioTrack
public YoutubeMpegStreamAudioTrack(AudioTrackInfo trackInfo, HttpInterface httpInterface, java.net.URI signedUrl)
- Parameters:
trackInfo- Track infohttpInterface- HTTP interface to use for loading segmentssignedUrl- URI of the base stream with signature resolved
-
-
Method Detail
-
process
public void process(LocalAudioTrackExecutor localExecutor)
Description copied from interface:InternalAudioTrackPerform any necessary loading and then enter the read/seek loop- Specified by:
processin interfaceInternalAudioTrack- Overrides:
processin classMpegAudioTrack- Parameters:
localExecutor- The local executor which processes this track
-
setPosition
public void setPosition(long position)
Description copied from interface:AudioTrackSeek to the specified position.- Specified by:
setPositionin interfaceAudioTrack- Overrides:
setPositionin classBaseAudioTrack- Parameters:
position- New position of the track in milliseconds
-
getDuration
public long getDuration()
- Specified by:
getDurationin interfaceAudioTrack- Overrides:
getDurationin classBaseAudioTrack- Returns:
- Duration of the track in milliseconds
-
getPosition
public long getPosition()
- Specified by:
getPositionin interfaceAudioTrack- Overrides:
getPositionin classBaseAudioTrack- Returns:
- Get the current position of the track in milliseconds
-
-