DLNAService com.connectsdk.service.DLNAService

DLNAService is a rough control implementation for the UPnP AVTransport, MediaRenderer, and RenderingControl services. DLNA commands & events occur over HTTP.

This service currently exists for the sole purpose of providing media control/playback functionality for the NetcastTVService. DiscoveryManager is currently set up to ignore any DLNA devices that are not manufactured by LG. It is not recommended to remove this restriction, as the DLNAService implementation is not complete.

To learn more about the protocols in use by DLNAService, check out the following documents.

Properties

final String ID = "DLNA"
final String AV_TRANSPORT_URN = "urn:schemas-upnp-org:service:AVTransport:1"
final String CONNECTION_MANAGER_URN = "urn:schemas-upnp-org:service:ConnectionManager:1"
final String RENDERING_CONTROL_URN = "urn:schemas-upnp-org:service:RenderingControl:1"
final String PLAY_STATE = "playState"
final String DEFAULT_SUBTITLE_MIMETYPE = "text/srt"
final String DEFAULT_SUBTITLE_TYPE = "srt"

Inner Classes

  • PositionInfoListener

Methods

DLNAService (ServiceDescription serviceDescription, ServiceConfig serviceConfig)
Parameters:
  • serviceDescription
  • serviceConfig
DLNAService (ServiceDescription serviceDescription, ServiceConfig serviceConfig, Context context, DLNAHttpServer dlnaServer)
Parameters:
  • serviceDescription
  • serviceConfig
  • context
  • dlnaServer
CapabilityPriorityLevel getPriorityLevel (Class<?extends CapabilityMethods > clazz)
Parameters:
  • clazz
void setServiceDescription (ServiceDescription serviceDescription)
Parameters:
  • serviceDescription
MediaPlayer getMediaPlayer ()
CapabilityPriorityLevel getMediaPlayerCapabilityLevel ()
void getMediaInfo (final MediaInfoListener listener)
Parameters:
  • listener –

    (optional) final MediaInfoListener with methods to be called on success or failure

ServiceSubscription<MediaInfoListener> subscribeMediaInfo (MediaInfoListener listener)
Parameters:
  • listener –

    (optional) MediaInfoListener with methods to be called on success or failure

void displayMedia (String url, String mimeType, String title, String description, String iconSrc, final LaunchListener listener)
Parameters:
  • url
  • mimeType
  • title
  • description
  • iconSrc
  • listener –

    (optional) final LaunchListener with methods to be called on success or failure

void displayImage (String url, String mimeType, String title, String description, String iconSrc, LaunchListener listener)

This method is deprecated. Use MediaPlayer::displayImage(MediaInfo mediaInfo, LaunchListener listener) instead.

Parameters:
  • url
  • mimeType
  • title
  • description
  • iconSrc
  • listener –

    (optional) LaunchListener with methods to be called on success or failure

void displayImage (MediaInfo mediaInfo, LaunchListener listener)
Parameters:
  • mediaInfo
  • listener –

    (optional) LaunchListener with methods to be called on success or failure

void playMedia (String url, String mimeType, String title, String description, String iconSrc, boolean shouldLoop, LaunchListener listener)

This method is deprecated. Use MediaPlayer::playMedia(MediaInfo mediaInfo, boolean shouldLoop, LaunchListener listener) instead.

Parameters:
  • url
  • mimeType
  • title
  • description
  • iconSrc
  • shouldLoop
  • listener –

    (optional) LaunchListener with methods to be called on success or failure

void playMedia (MediaInfo mediaInfo, boolean shouldLoop, LaunchListener listener)
Parameters:
  • mediaInfo
  • shouldLoop
  • listener –

    (optional) LaunchListener with methods to be called on success or failure

void closeMedia (LaunchSession launchSession, ResponseListener<Object> listener)
Parameters:
  • launchSession
  • listener –

    (optional) ResponseListener< Object > with methods to be called on success or failure

MediaControl getMediaControl ()

Get MediaControl implementation

Returns:

MediaControl

CapabilityPriorityLevel getMediaControlCapabilityLevel ()

Get a capability priority for current implementation

Returns:

CapabilityPriorityLevel

void play (ResponseListener<Object> listener)
Parameters:
  • listener –

    (optional) ResponseListener< Object > with methods to be called on success or failure

void pause (ResponseListener<Object> listener)
Parameters:
  • listener –

    (optional) ResponseListener< Object > with methods to be called on success or failure

void stop (ResponseListener<Object> listener)
Parameters:
  • listener –

    (optional) ResponseListener< Object > with methods to be called on success or failure

void rewind (ResponseListener<Object> listener)
Parameters:
  • listener –

    (optional) ResponseListener< Object > with methods to be called on success or failure

void fastForward (ResponseListener<Object> listener)
Parameters:
  • listener –

    (optional) ResponseListener< Object > with methods to be called on success or failure

PlaylistControl getPlaylistControl ()
CapabilityPriorityLevel getPlaylistControlCapabilityLevel ()
void previous (ResponseListener<Object> listener)

This method is deprecated. Use PlaylistControl::previous(ResponseListener<Object> listener) instead.

Parameters:
  • listener –

    (optional) ResponseListener< Object > with methods to be called on success or failure

void next (ResponseListener<Object> listener)

This method is deprecated. Use PlaylistControl::next(ResponseListener<Object> listener) instead.

Parameters:
  • listener –

    (optional) ResponseListener< Object > with methods to be called on success or failure

void jumpToTrack (long index, ResponseListener<Object> listener)

Play a track specified by index in the playlist

Parameters:
  • index –

    index in the playlist, it starts from zero like index of array

  • listener –

    optional response listener

void setPlayMode (PlayMode playMode, ResponseListener<Object> listener)

Set order of playing tracks

Parameters:
  • playMode
  • listener –

    optional response listener

void seek (long position, ResponseListener<Object> listener)
Parameters:
  • position –

    The new position, in milliseconds from the beginning of the stream

  • listener –

    (optional) ResponseListener< Object > with methods to be called on success or failure

void getDuration (final DurationListener listener)
Parameters:
  • listener –

    (optional) final DurationListener with methods to be called on success or failure

void getPosition (final PositionListener listener)
Parameters:
  • listener –

    (optional) final PositionListener with methods to be called on success or failure

void sendCommand (final ServiceCommand<?> mCommand)
Parameters:
  • mCommand
LaunchSession decodeLaunchSession (String type, JSONObject sessionObj)
Parameters:
  • type
  • sessionObj
void getPlayState (final PlayStateListener listener)
Parameters:
  • listener –

    (optional) final PlayStateListener with methods to be called on success or failure

ServiceSubscription<PlayStateListener> subscribePlayState (PlayStateListener listener)

Subscribe for playback state changes

Parameters:
  • listener –

    receives play state notifications

Returns:

ServiceSubscription<PlayStateListener>

void unsubscribe (URLServiceSubscription<?> subscription)
Parameters:
  • subscription
boolean isConnectable ()
boolean isConnected ()
void connect ()
void disconnect ()
void onLoseReachability (DeviceServiceReachability reachability)
Parameters:
  • reachability
void subscribeServices ()
void resubscribeServices ()
void unsubscribeServices ()
VolumeControl getVolumeControl ()
CapabilityPriorityLevel getVolumeControlCapabilityLevel ()
void volumeUp (final ResponseListener<Object> listener)
Parameters:
  • listener –

    (optional) final ResponseListener< Object > with methods to be called on success or failure

void volumeDown (final ResponseListener<Object> listener)
Parameters:
  • listener –

    (optional) final ResponseListener< Object > with methods to be called on success or failure

void setVolume (float volume, ResponseListener<Object> listener)
Parameters:
  • volume
  • listener –

    (optional) ResponseListener< Object > with methods to be called on success or failure

void getVolume (final VolumeListener listener)
Parameters:
  • listener –

    (optional) final VolumeListener with methods to be called on success or failure

void setMute (boolean isMute, ResponseListener<Object> listener)
Parameters:
  • isMute
  • listener –

    (optional) ResponseListener< Object > with methods to be called on success or failure

void getMute (final MuteListener listener)
Parameters:
  • listener –

    (optional) final MuteListener with methods to be called on success or failure

ServiceSubscription<VolumeListener> subscribeVolume (VolumeListener listener)
Parameters:
  • listener –

    (optional) VolumeListener with methods to be called on success or failure

ServiceSubscription<MuteListener> subscribeMute (MuteListener listener)
Parameters:
  • listener –

    (optional) MuteListener with methods to be called on success or failure

static DiscoveryFilter discoveryFilter ()

Inherited Methods

void connect ()

Will attempt to connect to the DeviceService. The failure/success will be reported back to the DeviceServiceListener. If the connection attempt reveals that pairing is required, the DeviceServiceListener will also be notified in that event.

void disconnect ()

Will attempt to disconnect from the DeviceService. The failure/success will be reported back to the DeviceServiceListener.

boolean isConnected ()

Whether the DeviceService is currently connected

boolean isConnectable ()
void cancelPairing ()

Explicitly cancels pairing in services that require pairing. In some services, this will hide a prompt that is displaying on the device.

void sendPairingKey (String pairingKey)

Will attempt to pair with the DeviceService with the provided pairingData. The failure/success will be reported back to the DeviceServiceListener.

Parameters:
  • pairingKey –

    Data to be used for pairing. The type of this parameter will vary depending on what type of pairing is required, but is likely to be a string (pin code, pairing key, etc).

List<String> getCapabilities ()
boolean hasCapability (String capability)

Test to see if the capabilities array contains a given capability. See the individual Capability classes for acceptable capability values.

It is possible to append a wildcard search term .Any to the end of the search term. This method will return true for capabilities that match the term up to the wildcard.

Example: Launcher.App.Any

Parameters:
  • capability –

    Capability to test against

boolean hasAnyCapability (String... capabilities)

Test to see if the capabilities array contains at least one capability in a given set of capabilities. See the individual Capability classes for acceptable capability values.

See hasCapability: for a description of the wildcard feature provided by this method.

Parameters:
  • capabilities –

    Set of capabilities to test against

boolean hasCapabilities (List<String> capabilities)

Test to see if the capabilities array contains a given set of capabilities. See the individual Capability classes for acceptable capability values.

See hasCapability: for a description of the wildcard feature provided by this method.

Parameters:
  • capabilities –

    List of capabilities to test against

ServiceDescription getServiceDescription ()
ServiceConfig getServiceConfig ()
JSONObject toJSONObject ()
String getServiceName ()

Name of the DeviceService (webOS, Chromecast, etc)

void closeLaunchSession (LaunchSession launchSession, ResponseListener<Object> listener)

Closes the session on the first screen device. Depending on the sessionType, the associated service will have different ways of handling the close functionality.

Parameters:
  • launchSession –

    LaunchSession to close

  • listener –

    (optional) listener to be called on success/failure

PlaylistControl getPlaylistControl ()
CapabilityPriorityLevel getPlaylistControlCapabilityLevel ()
void previous (ResponseListener<Object> listener)

Jump playlist to the previous track.

Play previous track in the playlist

Related capabilities:
  • PlaylistControl.Previous
Parameters:
  • listener –

    optional response listener

void next (ResponseListener<Object> listener)

Jump playlist to the next track.

Play next track in the playlist

Related capabilities:
  • PlaylistControl.Next
Parameters:
  • listener –

    optional response listener

void jumpToTrack (long index, ResponseListener<Object> listener)

Jump the playlist to the designated track.

Play a track specified by index in the playlist

Related capabilities:
  • PlaylistControl.JumpToTrack
Parameters:
  • index –

    index in the playlist, it starts from zero like index of array

  • listener –

    optional response listener

void setPlayMode (PlayMode playMode, ResponseListener<Object> listener)

Set order of playing tracks

Parameters:
  • playMode
  • listener –

    optional response listener

MediaControl getMediaControl ()

Get MediaControl implementation

Returns:

MediaControl

CapabilityPriorityLevel getMediaControlCapabilityLevel ()

Get a capability priority for current implementation

Returns:

CapabilityPriorityLevel

void play (ResponseListener<Object> listener)

Send play command.

Related capabilities:
  • MediaControl.Play
Parameters:
  • listener –

    (optional) ResponseListener< Object > with methods to be called on success or failure

void pause (ResponseListener<Object> listener)

Send pause command.

Related capabilities:
  • MediaControl.Pause
Parameters:
  • listener –

    (optional) ResponseListener< Object > with methods to be called on success or failure

void stop (ResponseListener<Object> listener)

Send play command.

Related capabilities:
  • MediaControl.Stop
Parameters:
  • listener –

    (optional) ResponseListener< Object > with methods to be called on success or failure

void rewind (ResponseListener<Object> listener)

Send rewind command.

Related capabilities:
  • MediaControl.Rewind
Parameters:
  • listener –

    (optional) ResponseListener< Object > with methods to be called on success or failure

void fastForward (ResponseListener<Object> listener)

Send play command.

Related capabilities:
  • MediaControl.FastForward
Parameters:
  • listener –

    (optional) ResponseListener< Object > with methods to be called on success or failure

void seek (long position, ResponseListener<Object> listener)

Seeks to a new position within the current media item

Related capabilities:
  • MediaControl.Seek
Parameters:
  • position –

    The new position, in milliseconds from the beginning of the stream

  • listener –

    (optional) ResponseListener< Object > with methods to be called on success or failure

void getDuration (DurationListener listener)

Get the current media duration in milliseconds

Parameters:
  • listener –

    (optional) DurationListener with methods to be called on success or failure

void getPosition (PositionListener listener)

Get the current playback position in milliseconds

Parameters:
  • listener –

    (optional) PositionListener with methods to be called on success or failure

void getPlayState (PlayStateListener listener)

Get the current state of playback

Parameters:
  • listener –

    (optional) PlayStateListener with methods to be called on success or failure

ServiceSubscription<PlayStateListener> subscribePlayState (PlayStateListener listener)

Subscribe for playback state changes

Parameters:
  • listener –

    receives play state notifications

Returns:

ServiceSubscription<PlayStateListener>

MediaPlayer getMediaPlayer ()
CapabilityPriorityLevel getMediaPlayerCapabilityLevel ()
void getMediaInfo (MediaInfoListener listener)
Parameters:
  • listener –

    (optional) MediaInfoListener with methods to be called on success or failure

ServiceSubscription<MediaInfoListener> subscribeMediaInfo (MediaInfoListener listener)
Parameters:
  • listener –

    (optional) MediaInfoListener with methods to be called on success or failure

void displayImage (MediaInfo mediaInfo, LaunchListener listener)

Display an image on the device. Not all devices support all of the parameters -- supply as many as you have available.

Related capabilities:
  • MediaPlayer.Display.Image
  • MediaPlayer.MediaData.Title
  • MediaPlayer.MediaData.Description
  • MediaPlayer.MediaData.Thumbnail
  • MediaPlayer.MediaData.MimeType
Parameters:
  • mediaInfo –

    Object of MediaInfo class which includes all the information about an image to display.

  • listener –

    (optional) LaunchListener with methods to be called on success or failure

void playMedia (MediaInfo mediaInfo, boolean shouldLoop, LaunchListener listener)

Play an audio or video file on the device. Not all devices support all of the parameters -- supply as many as you have available.

Related capabilities:
  • MediaPlayer.Play.Video
  • MediaPlayer.Play.Audio
  • MediaPlayer.MediaData.Title
  • MediaPlayer.MediaData.Description
  • MediaPlayer.MediaData.Thumbnail
  • MediaPlayer.MediaData.MimeType
Parameters:
  • mediaInfo –

    Object of MediaInfo class which includes all the information about an image to display.

  • shouldLoop –

    Whether to automatically loop playback

  • listener –

    (optional) LaunchListener with methods to be called on success or failure

void closeMedia (LaunchSession launchSession, ResponseListener<Object> listener)

Close a running media session. Because media is handled differently on different platforms, it is required to keep track of LaunchSession and MediaControl objects to control that media session in the future. LaunchSession will be required to close the media and mediaControl will be required to control the media.

Related capabilities:
  • MediaPlayer.Close
Parameters:
  • launchSession –

    LaunchSession object for use in closing media instance

  • listener –

    (optional) ResponseListener< Object > with methods to be called on success or failure

VolumeControl getVolumeControl ()
CapabilityPriorityLevel getVolumeControlCapabilityLevel ()
void volumeUp (ResponseListener<Object> listener)

Sends the volume up command to the device.

Related capabilities:
  • VolumeControl.UpDown
Parameters:
  • listener –

    (optional) ResponseListener< Object > with methods to be called on success or failure

void volumeDown (ResponseListener<Object> listener)

Sends the volume down command to the device.

Related capabilities:
  • VolumeControl.UpDown
Parameters:
  • listener –

    (optional) ResponseListener< Object > with methods to be called on success or failure

void setVolume (float volume, ResponseListener<Object> listener)

Set the volume of the device.

Related capabilities:
  • VolumeControl.Set
Parameters:
  • volume –

    Volume as a float between 0.0 and 1.0

  • listener –

    (optional) ResponseListener< Object > with methods to be called on success or failure

void getVolume (VolumeListener listener)

Get the current volume of the device.

Related capabilities:
  • VolumeControl.Get
Parameters:
  • listener –

    (optional) VolumeListener with methods to be called on success or failure

void setMute (boolean isMute, ResponseListener<Object> listener)

Set the current volume.

Related capabilities:
  • VolumeControl.Mute.Set
Parameters:
  • isMute
  • listener –

    (optional) ResponseListener< Object > with methods to be called on success or failure

void getMute (MuteListener listener)

Get the current mute state.

Related capabilities:
  • VolumeControl.Mute.Get
Parameters:
  • listener –

    (optional) MuteListener with methods to be called on success or failure

ServiceSubscription<VolumeListener> subscribeVolume (VolumeListener listener)

Subscribe to the volume on the TV.

Related capabilities:
  • VolumeControl.Subscribe
Parameters:
  • listener –

    (optional) VolumeListener with methods to be called on success or failure

ServiceSubscription<MuteListener> subscribeMute (MuteListener listener)

Subscribe to the mute state on the TV.

Related capabilities:
  • VolumeControl.Mute.Subscribe
Parameters:
  • listener –

    (optional) MuteListener with methods to be called on success or failure

void onLoseReachability (DeviceServiceReachability reachability)
Parameters:
  • reachability
void unsubscribe (URLServiceSubscription<?> subscription)
Parameters:
  • subscription
void sendCommand (ServiceCommand<?> command)
Parameters:
  • command