BeyondPod public APIs
Posted by Dev Support on 13 July 2011 12:27 PM

BeyondPod currently exposes 3 types of APIs:

  • Broadcasts of the currently Played Episode. If "Scrobble Episodes" is checked in BeyondPod's player settings, BeyondPod will broadcast events on each Play/Pause. The event structure and parameters are described here: http://code.google.com/p/scrobbledroid/wiki/DeveloperAPI . (Starting with version 2.8.2, BeyondPod will also broadcast an independen BeyondPod specific event "mobi.beyondpod.action.PLAYBACK_STATUS" with the same parameters the scrobble event, regardless if Scrobble Episodes is enabled or not). The event is sent any time playback starts or stops.
  • Control Commands. BeyondPod will listen and respond to the following broadcasts from any external applications:
    • mobi.beyondpod.command.UPDATE_SMART_PLAY
    • mobi.beyondpod.command.START_SMART_PLAY
    • mobi.beyondpod.command.PLAY
    • mobi.beyondpod.command.PAUSE
    • mobi.beyondpod.command.PLAY_NEXT
    • mobi.beyondpod.command.PLAY_PREVIOUS
    • mobi.beyondpod.command.SKIP_FORWARD
    • mobi.beyondpod.command.SKIP_BACKWARD
    • mobi.beyondpod.command.SKIP_TO_END
    • mobi.beyondpod.command.SET_PLAYBACK_SPEED_NORMAL
    • mobi.beyondpod.command.SET_PLAYBACK_SPEED_1
    • mobi.beyondpod.command.SET_PLAYBACK_SPEED_2
  • External Player Interface. BeyondPod has a simple infrastructure that allows BeyondPod to integrate better with external players. Generally when launching an external player, BeyondPod sends "Intent.ACTION_VIEW" Intent and provides the path (or url) to the file to be played and the mime type of the file (audio/*, video/* or image/*). BeyondPod will also provide an Intent "extra" named "startPosition" (float) - this is the fraction of the podcast that has been played, and (if the Player supports it) the player should resume from that position.  When the external player finishes playing, it can also return a result containing "position" (float) and "duration" (int), extras containing the current position and the duration of the played content as tracked by the external player. This mechanism allows BeyondPod to keep track and resume of the played progress in external players as well as allows BeyondPod to "feed" its internal playlist to the external player. This interface is currently supported by VPlayer video player, available on Android Market.

We will be glad to enhance the existing APIs as needed so please let us know if something can be improved.

(17 votes)
This article was helpful
This article was not helpful

Comments (0)
.errorcopyarea { margin: 0 0 1em; padding: 0.4em; background: #fff; border: solid 1px #d6d6d6; box-shadow: 1px 1px 2px #CCCCCC; width: 100%; height: 200px; } .copytoclipboard { margin: 15px 0 15px 0; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); font-weight: bold; border-bottom: 1px solid #d6d6d6; padding: 5px; } .titlegradient { background-image: linear-gradient(bottom, rgb(144,23,17) 46%, rgb(166,27,17) 73%, rgb(184,24,6) 87%); background-image: -o-linear-gradient(bottom, rgb(144,23,17) 46%, rgb(166,27,17) 73%, rgb(184,24,6) 87%); background-image: -moz-linear-gradient(bottom, rgb(144,23,17) 46%, rgb(166,27,17) 73%, rgb(184,24,6) 87%); background-image: -webkit-linear-gradient(bottom, rgb(144,23,17) 46%, rgb(166,27,17) 73%, rgb(184,24,6) 87%); background-image: -ms-linear-gradient(bottom, rgb(144,23,17) 46%, rgb(166,27,17) 73%, rgb(184,24,6) 87%); background-image: -webkit-gradient( linear, left bottom, left top, color-stop(0.46, rgb(144,23,17)), color-stop(0.73, rgb(166,27,17)), color-stop(0.87, rgb(184,24,6)) ); } #kayako_exception { text-align: left; color: #333; } #kayako_exception h1, #kayako_exception h2 { margin: 0; padding: 1em; font-size: 1em; font-weight: normal; background: #911; color: #fff; } #kayako_exception h1 a, #kayako_exception h2 a { color: #fff; } #kayako_exception h2 { background: #222; } #kayako_exception h3 { margin: 0; padding: 0.4em 0 0; font-size: 1em; font-weight: normal; } #kayako_exception p { margin: 0; padding: 0.2em 0; } #kayako_exception a { color: #333333; text-decoration: none; } #kayako_exception pre { overflow: auto; white-space: pre-wrap; } #kayako_exception table { width: 100%; display: block; margin: 0 0 0.4em; padding: 0; border-collapse: collapse; background: #fff; } #kayako_exception table td { border: solid 1px #ddd; text-align: left; vertical-align: top; padding: 0.4em; } #kayako_exception div.content { padding: 0.4em 1em 1em; overflow: hidden; } #kayako_exception pre.source { margin: 0 0 1em; padding: 0.4em; background: #fff; border: solid 1px #d6d6d6; box-shadow: 1px 1px 2px #CCCCCC; line-height: 1.2em; } #kayako_exception pre.source span.line { display: block; } #kayako_exception pre.source.collapsed { display: none; } #kayako_exception pre.source span.highlight { background: #FDEEF4; } #kayako_exception pre.source span.line span.number { color: #666; } #kayako_exception ol.trace { display: block; margin: 0 0 0 2em; padding: 0; list-style: decimal; } #kayako_exception ol.trace li { margin: 0; padding: 0; } #kayako_exception .collapsed { display: none; } #kayako_exception .sourcetitle { text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); } #kayako_exception .sourcedesc { text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); font-weight: bold; } #kayako_exception .variabletype { font-weight: none; font-style: italic; }
Notice
Undefined index: _commentsModule (./__swift/cache/01cd6d7c36a16692b8ffc1569c8564b1.php:54)
Copy to clipboard:
/Comments/Submit/31/" enctype="multipart/form-data" name="CommentsForm">
Post a new comment 
 
Full Name:
Email:
Comments:
Help Desk Software by Kayako Case