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:
- 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.