mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2025-02-14 04:05:23 +08:00
118 lines
3.2 KiB
TypeScript
118 lines
3.2 KiB
TypeScript
import { Injectable } from '@angular/core';
|
|
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
|
|
|
|
/**
|
|
* Object of options to pass into the playVideo method.
|
|
*/
|
|
export interface StreamingVideoOptions {
|
|
/** Executes after success playing audio. */
|
|
successCallback?: Function;
|
|
/** Executes after error playing video. */
|
|
errorCallback?: Function;
|
|
/** Force one orientation for playing video. */
|
|
orientation?: string;
|
|
/** Should the video close after it's over. Defaults to true. */
|
|
shouldAutoClose?: boolean;
|
|
/** Should the video have controls. Defaults to true. Android only. */
|
|
controls?: boolean;
|
|
}
|
|
|
|
/**
|
|
* Object of options to pass into the playAudio method.
|
|
*/
|
|
export interface StreamingAudioOptions {
|
|
/** Background color for audio player. */
|
|
bgColor?: string;
|
|
/** Background image for audio player. */
|
|
bgImage?: string;
|
|
/**
|
|
* Background image scale for audio player.
|
|
* Valid values are:
|
|
* fit
|
|
* stretch
|
|
* aspectStretch.
|
|
*/
|
|
bgImageScale?: string;
|
|
/** Start audio player in full screen. iOS only. */
|
|
initFullscreen?: boolean;
|
|
/**
|
|
* Keeps the screen lit and stops it from locking
|
|
* while audio is playing. Android only.
|
|
*/
|
|
keepAwake?: boolean;
|
|
/** Executes after success playing audio. */
|
|
successCallback?: Function;
|
|
/** Executes after error playing audio. */
|
|
errorCallback?: Function;
|
|
}
|
|
|
|
/**
|
|
* @name Streaming Media
|
|
* @description
|
|
* This plugin allows you to stream audio and video in a fullscreen, native player on iOS and Android.
|
|
*
|
|
* @usage
|
|
* ```typescript
|
|
* import { StreamingMedia, StreamingVideoOptions } from '@ionic-native/streaming-media';
|
|
*
|
|
* constructor(private streamingMedia: StreamingMedia) { }
|
|
*
|
|
* let options: StreamingVideoOptions = {
|
|
* successCallback: () => { console.log('Video played') },
|
|
* errorCallback: (e) => { console.log('Error streaming') },
|
|
* orientation: 'landscape',
|
|
* shouldAutoClose: true,
|
|
* controls: false
|
|
* };
|
|
*
|
|
* this.streamingMedia.playVideo('https://path/to/video/stream', options);
|
|
*
|
|
* ```
|
|
* @interfaces
|
|
* StreamingVideoOptions
|
|
* StreamingAudioOptions
|
|
*/
|
|
@Plugin({
|
|
pluginName: 'StreamingMedia',
|
|
plugin: 'cordova-plugin-streaming-media',
|
|
pluginRef: 'plugins.streamingMedia',
|
|
repo: 'https://github.com/nchutchind/cordova-plugin-streaming-media',
|
|
platforms: ['Amazon Fire OS', 'Android', 'iOS']
|
|
})
|
|
@Injectable()
|
|
export class StreamingMedia extends IonicNativePlugin {
|
|
/**
|
|
* Streams a video
|
|
* @param videoUrl {string} The URL of the video
|
|
* @param options {StreamingVideoOptions} Options
|
|
*/
|
|
@Cordova({ sync: true })
|
|
playVideo(videoUrl: string, options?: StreamingVideoOptions): void {}
|
|
|
|
/**
|
|
* Streams an audio
|
|
* @param audioUrl {string} The URL of the audio stream
|
|
* @param options {StreamingAudioOptions} Options
|
|
*/
|
|
@Cordova({ sync: true })
|
|
playAudio(audioUrl: string, options?: StreamingAudioOptions): void {}
|
|
|
|
/**
|
|
* Stops streaming audio
|
|
*/
|
|
@Cordova({ sync: true })
|
|
stopAudio(): void {}
|
|
|
|
/**
|
|
* Pauses streaming audio
|
|
*/
|
|
@Cordova({ sync: true, platforms: ['iOS'] })
|
|
pauseAudio(): void {}
|
|
|
|
/**
|
|
* Resumes streaming audio
|
|
*/
|
|
@Cordova({ sync: true, platforms: ['iOS'] })
|
|
resumeAudio(): void {}
|
|
}
|