Quick Brick Audio Player for TV
Introduction
The Audio Player for Quick Brick TV platforms renders a player overlay when audio only content is selected by a user. It is supported through the Quick Brick Player Plugin
Support
i- This Player is supported on
(a) tvOS (Minimum QB Player plugin version tvOS 1.4.8)
(b) Android TV (Minimum QB Player plugin version Android 1.4.9)
(c) Amazon Fire TV (Minimum QB Player plugin version Android 1.4.9)
(d) Samsung (Minimum QB Player plugin version Samsung 1.4.7)
(e) LG , via Quick Brick (Minimum QB Player plugin version LG 1.4.6)
ii- The player is Not supported on Roku.
iii- Items that are of value=audio
iv- Format = m3u8, mp3 (Audio is a feature of the player)
Player Overlay
RTL and LTR styles are supported
Image aspect ratio can be 1:1, 16:9, or 4:3
Data Structure
Audio items are a type of entry, as defined in the Feed API, and can be identified with the value of their “type” property.
Feed (This is the output of the DSP as should appear in the JSON file)
Extensions
In addition to the properties on the item itself, some options can be retrieved in the plugin’s configuration. However, if a given property is defined on the item, it takes precedence over the value defined on the plugin’s configuration.
ie: The system first checks for the Extension configuration on an Entry (item) level.
If an entry has no extension, it takes the extension configurations from the Plugin-level (if configured).
const plugin_configuration = {
- audio_player_artwork_aspect_ratio: "1:1" | "4:3" | "16:9" | null, format = select 1 that matches the aspect ratio of the media asset image provided in the DSP
- NOTE: The Aspect Ratio Overrides the image key of the Entry. So for example, if the entry has an image key of "image_base" which is by default an aspect ratio of 16:9, BUT you select the Extension aspect ratio to be "4:3", then the final aspect ratio shall be "4:3".
- audio_player_background_image: "", format = png, full screen 1920x1080
- audio_player_background_color: "", format = hex (eg: White is #FFFFFF)
- audio_player_channel_icon: "", format = png, max height 72p
- audio_player_title_color: "", format = hex (eg: White is #FFFFFF)
- audio_player_summary_color: "", format = hex (eg: White is #FFFFFF)
- audio_player_rtl: true | false , format = set to true or false
}
Background image
The background image should be searched for using a series of priorities :
- item.extensions.audio_player_background_image if defined
- item.extensions.audio_player_background_color if defined
- plugin_configuration.audio_player_background_image if defined
- plugin_configuration.audio_player_background_color if defined
- If no asset is defined, the background should be set to transparent to show the app’s background
Show Artwork
The show artwork is fetched from the item’s media_group. The rules for fetching it are the following :
- We look for a media_item with the key image_base
- If none is found, we select the first available media_item
- If no media item is present on the item, no artwork should be shown
The artwork’s aspect ratio can be defined in several ways :
- If it is defined in the item’s extension, or the plugin configuration, this aspect ratio should be used, and the image must be fitted to contained in a frame with that aspect ratio.
- If no audio_player_artwork_aspect_ratio property is defined anywhere, the aspect ratio closest to the provided image must be used.
Text
The title & summary colors can be defined similarly through the item’s extensions property or the plugin configuration, and will fallback to the text color defined in the app. For now we won’t allow to change the font used and the font size. This level of customization will be added later.
RTL
If the plugin_configuration or the item has the audio_player_rtl property set to true, the information will be presented using the RTL variants of the layout - with all the rules above still apply.
Comments
0 comments
Please sign in to leave a comment.