4 Media Renderers
| (require racket-upnp/media-renderer) | package: racket-upnp |
This module provides a device-oriented interface for UPnP and DLNA media renderers. It hides the AVTransport and RenderingControl services used for common playback and volume operations.
procedure
(query-media-renderers [ #:interface interface #:dns? dns? #:dlna-only? dlna-only?]) → (listof media-renderer?) interface : (or/c #f string?) = #f dns? : boolean? = #f dlna-only? : boolean? = #f
procedure
(get-media-renderer filter-name) → (or/c #f media-renderer?)
filter-name : string?
procedure
(media-renderer? value) → boolean?
value : any/c
procedure
(media-renderer-name renderer) → string?
renderer : media-renderer?
procedure
(media-renderer-address renderer) → string?
renderer : media-renderer?
procedure
(media-renderer-manufacturer renderer) → (or/c #f string?)
renderer : media-renderer?
procedure
(media-renderer-model renderer) → (or/c #f string?)
renderer : media-renderer?
procedure
(media-renderer-dlna? renderer) → boolean?
renderer : media-renderer?
4.1 Playback
procedure
(media-renderer-play-resource! renderer uri [ #:protocol-info protocol-info #:mime-type mime-type #:title title #:artist artist #:album album #:genre genre #:year year #:track track #:duration duration #:size size]) → any renderer : media-renderer? uri : string? protocol-info : (or/c #f string?) = #f mime-type : (or/c #f string?) = #f title : string? = "Media" artist : (or/c #f string?) = #f album : (or/c #f string?) = #f genre : (or/c #f string?) = #f year : (or/c #f exact-nonnegative-integer?) = #f track : (or/c #f exact-nonnegative-integer?) = #f duration : (or/c #f number?) = #f size : (or/c #f exact-nonnegative-integer?) = #f
procedure
(media-renderer-play-uri! renderer uri [ #:metadata metadata #:next-uri next-uri #:next-metadata next-metadata]) → any renderer : media-renderer? uri : string? metadata : string? = "" next-uri : (or/c #f string?) = #f next-metadata : string? = ""
Supply DIDL-Lite in metadata. Although AVTransport permits an empty string, some renderers do not enable seeking without resource metadata. Use media-file-server-didl-lite for resources published by this package.
When next-uri is supplied, it is installed with SetNextAVTransportURI before playback starts. A supporting renderer can open and buffer the next resource while the current resource is playing, allowing a gapless or near-gapless transition. Supply matching DIDL-Lite in next-metadata.
procedure
(media-renderer-play! renderer) → any
renderer : media-renderer?
procedure
(media-renderer-next-uri-supported? renderer) → boolean?
renderer : media-renderer?
procedure
(media-renderer-set-next-uri! renderer uri [ #:metadata metadata]) → any renderer : media-renderer? uri : string? metadata : string? = ""
procedure
(media-renderer-set-next-resource! renderer uri [ #:protocol-info protocol-info #:mime-type mime-type #:title title #:artist artist #:album album #:genre genre #:year year #:track track #:duration duration #:size size]) → any renderer : media-renderer? uri : string? protocol-info : (or/c #f string?) = #f mime-type : (or/c #f string?) = #f title : string? = "Media" artist : (or/c #f string?) = #f album : (or/c #f string?) = #f genre : (or/c #f string?) = #f year : (or/c #f exact-nonnegative-integer?) = #f track : (or/c #f exact-nonnegative-integer?) = #f duration : (or/c #f number?) = #f size : (or/c #f exact-nonnegative-integer?) = #f
procedure
(media-renderer-pause! renderer) → any
renderer : media-renderer?
procedure
(media-renderer-stop! renderer) → any
renderer : media-renderer?
procedure
(media-renderer-seek! renderer seconds) → any
renderer : media-renderer? seconds : exact-nonnegative-integer?
procedure
(media-renderer-status renderer) → symbol?
renderer : media-renderer?
procedure
(media-renderer-position renderer) → transport-position?
renderer : media-renderer?
procedure
(transport-position-track position)
→ exact-nonnegative-integer? position : transport-position?
procedure
(transport-position-seconds position) → (or/c #f number?)
position : transport-position?
procedure
(transport-position-duration position) → (or/c #f number?)
position : transport-position?
procedure
(transport-position-uri position) → (or/c #f string?)
position : transport-position?
4.2 Volume and mute
procedure
(media-renderer-volume renderer) → exact-nonnegative-integer?
renderer : media-renderer?
procedure
(media-renderer-set-volume! renderer volume) → any renderer : media-renderer? volume : exact-nonnegative-integer?
procedure
(media-renderer-muted? renderer) → boolean?
renderer : media-renderer?
procedure
(media-renderer-set-muted! renderer muted?) → any
renderer : media-renderer? muted? : boolean?