Skip to content

Commit

Permalink
feat(music-controls): add event for ios control center seek and funct…
Browse files Browse the repository at this point in the history
…ion to update ios elapsed time (#1727)
  • Loading branch information
Buddy Reno authored and ihadeed committed Jul 3, 2017
1 parent 51fc533 commit 593607e
Showing 1 changed file with 52 additions and 28 deletions.
80 changes: 52 additions & 28 deletions src/@ionic-native/plugins/music-controls/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,38 +58,53 @@ export interface MusicControlsOptions {
*
* this.musicControls.subscribe().subscribe(action => {
*
* switch(action) {
* case 'music-controls-next':
* // Do something
* break;
* case 'music-controls-previous':
* // Do something
* break;
* case 'music-controls-pause':
* // Do something
* break;
* case 'music-controls-play':
* // Do something
* break;
* case 'music-controls-destroy':
* // Do something
* break;
* function events(action) {
* const message = JSON.parse(action).message;
* switch(message) {
* case 'music-controls-next':
* // Do something
* break;
* case 'music-controls-previous':
* // Do something
* break;
* case 'music-controls-pause':
* // Do something
* break;
* case 'music-controls-play':
* // Do something
* break;
* case 'music-controls-destroy':
* // Do something
* break;
*
* // Headset events (Android only)
* case 'music-controls-media-button' :
* // External controls (iOS only)
* case 'music-controls-toggle-play-pause' :
* // Do something
* break;
* case 'music-controls-seek-to':
* const seekToInSeconds = JSON.parse(action).position;
* MusicControls.updateElapsed({
* elapsed: seekToInSeconds,
* isPlaying: true
* });
* // Do something
* break;
* case 'music-controls-headset-unplugged':
* // Do something
* break;
* case 'music-controls-headset-plugged':
* // Do something
* break;
* default:
* break;
* }
*
* });
* // Headset events (Android only)
* // All media button events are listed below
* case 'music-controls-media-button' :
* // Do something
* break;
* case 'music-controls-headset-unplugged':
* // Do something
* break;
* case 'music-controls-headset-plugged':
* // Do something
* break;
* default:
* break;
* }
* }
*
* this.musicControls.listen(); // activates the observable above
*
Expand Down Expand Up @@ -147,6 +162,15 @@ export class MusicControls extends IonicNativePlugin {
@Cordova()
updateIsPlaying(isPlaying: boolean): void { }

/**
* Update elapsed time, optionally toggle play/pause:
* @param args {elapsed: string, isPlaying: boolean}
*/
@Cordova({
platforms: ['iOS']
})
updateElapsed(args: object): void { }

/**
* Toggle dismissable:
* @param dismissable {boolean}
Expand Down

0 comments on commit 593607e

Please sign in to comment.