1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98// install : cordova plugin add https://github.com/EddyVerbruggen/VideoCapturePlus-PhoneGap-Plugin.git
// link : https://github.com/EddyVerbruggen/VideoCapturePlus-PhoneGap-Plugin
angular.module('ngCordova.plugins.videoCapturePlus', [])
.provider('$cordovaVideoCapturePlus', [function () {
var defaultOptions = {};
/**
* the nr of videos to record, default 1 (on iOS always 1)
*
* @param limit
*/
this.setLimit = function setLimit(limit) {
defaultOptions.limit = limit;
};
/**
* max duration in seconds, default 0, which is 'forever'
*
* @param seconds
*/
this.setMaxDuration = function setMaxDuration(seconds) {
defaultOptions.duration = seconds;
};
/**
* set to true to override the default low quality setting
*
* @param {Boolean} highquality
*/
this.setHighQuality = function setHighQuality(highquality) {
defaultOptions.highquality = highquality;
};
/**
* you'll want to sniff the user-Agent/device and pass the best overlay based on that..
* set to true to override the default backfacing camera setting. iOS: works fine, Android: YMMV (#18)
*
* @param {Boolean} frontcamera
*/
this.useFrontCamera = function useFrontCamera(frontcamera) {
defaultOptions.frontcamera = frontcamera;
};
/**
* put the png in your www folder
*
* @param {String} imageUrl
*/
this.setPortraitOverlay = function setPortraitOverlay(imageUrl) {
defaultOptions.portraitOverlay = imageUrl;
};
/**
*
* @param {String} imageUrl
*/
this.setLandscapeOverlay = function setLandscapeOverlay(imageUrl) {
defaultOptions.landscapeOverlay = imageUrl;
};
/**
* iOS only
*
* @param text
*/
this.setOverlayText = function setOverlayText(text) {
defaultOptions.overlayText = text;
};
this.$get = ['$q', '$window', function ($q, $window) {
return {
captureVideo: function (options) {
var q = $q.defer();
if (!$window.plugins.videocaptureplus) {
q.resolve(null);
return q.promise;
}
$window.plugins.videocaptureplus.captureVideo(q.resolve, q.reject,
angular.extend({}, defaultOptions, options));
return q.promise;
}
};
}];
}]);