Skip to content
Fully working podcast player channel - accepts an MRSS feed and parses artwork and playlist.
Branch: master
Clone or download

Latest commit

Latest commit ff76cbe Mar 24, 2017


Type Name Latest commit message Commit time
Failed to load latest commit information.
components Allow audio to continue playing while browsing Mar 24, 2017
fonts Annotations and Copyright Jul 15, 2016
images Remove unused posters Aug 24, 2016
source Added podcast sorting order feature Mar 24, 2017
LICENSE Update LICENSE Nov 17, 2016 Update Sep 15, 2016
manifest Manifest Updated Aug 4, 2016

Podcast Player Channel

Fully working podcast player channel - accepts an MRSS feed and parses artwork and playlist.

Podcast Player Channel

Use Case

This sample channel can be used to as an example audio player. It demonstrates how to make create a Roku channel that retrieves audio from RSS feeds and implements it as a working Podcast Channel.

How to run this sample


  • Showcases an Audio Player UI built in SceneGraph
  • Includes example usage of a custom LabelList and a custom playbar
  • Uses custom Playbar located at the bottom of the screen
  • Demonstrates how to use observer functions to track changing content in a channel
  • Demonstrates how to parse a RSS feed and load all data into content nodes
  • Demonstrates how to create custom components and wrappers

Directory Structure

  • Components: SceneGraph Components
    • MyLabelList Custom wrapper class for LabelList to override specific functions. Displays all Podcast Episodes
    • PodcastScene.xml Creates all SceneGraph nodes displayed in the UI
    • PodcastScene.brs This is the back-end for UI. Tracks and monitors Audio playback, manipulates animations, creates functions for audio controls, changes audio content for current audio, etc.
  • Images: Contains image assets used in the channel
  • Source: Contains Main method, RSS Parse method, and Config file.
    • Main: Creates Screen to display UI when channel starts and declares all global information in the app.
    • RSS Parse: This is a method that takes a RSS feed and parses all the content into content nodes that will be passed to the SceneGraph components
    • Config: This is a file that declares information that can be edited by any developer to change the color of text or change the audio content to grab from a different RSS feed.

Channel Flow

  • Event: Upon starting the channel, the RSS feed is parsed and all content is passed to the SceneGraph nodes.
  • Event: The content is loaded into the custom LabelList and all channel artwork is created.
  • User: The user is presented with a UI with a LabelList that can be scrolled through to play any of the podcast content.
  • Event: Upon choosing an episode in the LabelList the content is played and the audio begins to start.
  • User: The user can use the trickplay functions on the controller to skip, pause, or rewind audio.
You can’t perform that action at this time.