This repository has been archived by the owner on Sep 20, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 19
/
LocalMediaDemo.js
136 lines (102 loc) · 3.22 KB
/
LocalMediaDemo.js
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
if (Meteor.isClient) {
//media对象实例
var _myMedia;
//文件路径
var _url;
Meteor.startup(function () {
//允许后台播放
cordova.plugins.backgroundMode.enable();
});
Template.hello.helpers({
});
Template.hello.events({
//注意,尽量不要使用中文路径及文件名。因为在Android中,eclipse开发环境下,assets目录下不能使用中文。
//初始化音频
'click .init_audio':function(){
//注意路径问题
//-------------iOS-------------
//(1) 播放www目录下的文件
_url = "application/voice/1-1.mp3";
//(2) 播放documents目录下的文件
// _url = "documents://voice/1-1.mp3";
//-------------Android-------------
//播放www目录下的文件
// _url = cordova.file.applicationDirectory + "www/application/voice/1-1.mp3";
_myMedia = new Media(_url, successCallback, errorCallback, statusCallback);
console.log("Init Audio");
},
//播放
'click .play_audio':function(){
_myMedia.play();
console.log("Play Audio");
},
//暂停
'click .pause_audio':function(){
_myMedia.pause();
console.log("Pause Audio");
},
//停止
//注意,这里没有使用stop()是为了和播放完成后自动停止的事件相区分
'click .stop_audio':function(){
_myMedia.seekTo(0);
_myMedia.pause();
console.log("Stop Audio");
},
//获得播放进度和总时长
'click .get_position':function(){
var dur = _myMedia.getDuration();
_myMedia.getCurrentPosition(
// success callback
function (position) {
console.log("Current Position: " + position + " / " + dur);
},
// error callback
function (e) {
console.log("Error Getting Position=" + e);
}
);
},
//快进按钮
//此处是为了测试播放结束后连续播放下一首
'click .fast_dorward':function(){
//快进到330秒处
_myMedia.seekTo(330000);
console.log("fast_dorward: 330 sec");
}
});
//回调的子函数
var successCallback = function()
{
//这句释放资源一定要加,若没有这句会使APP卡住
_myMedia.release();
console.log("播放结束或停止,可以在这里继续播放下一个音频");
//模拟播放下一首
_myMedia = new Media(_url, successCallback, errorCallback, statusCallback);
_myMedia.play();
}
//回调的子函数
var errorCallback = function(error)
{
for(var key in error)
{
// alert(key + ":"+e[key]); // f,s
console.log("Audio Error: " + key + ":"+error[key]);
}
// console.log("Audio Error: " + error);
}
//回调的子函数
var statusCallback = function(status)
{
// Media.MEDIA_NONE = 0;
// Media.MEDIA_STARTING = 1;
// Media.MEDIA_RUNNING = 2;
// Media.MEDIA_PAUSED = 3;
// Media.MEDIA_STOPPED = 4;
console.log("Audio Status: " + status);
}
}
if (Meteor.isServer) {
Meteor.startup(function () {
// code to run on server at startup
});
}