1# * coding: UTF8 *
2"""
3Player模块具体接口和参数如下所示。
4
5==========================================================================================
6
7"""
8
9def create():
10   """
11   创建播放器。
12
13   :param 空:
14   :returns: 0: 成功,其他: 失败
15   :raises OSError: ENXIO
16   """
17   pass
18
19def release():
20   """
21   释放由create函数创建的播放器。
22
23   :param 空:
24   :returns: 0: 成功,其他: 失败
25   :raises OSError: EINVAL
26   """
27   pass
28
29def start():
30   """
31   开始音频播放,该接口为同步接口。程序会阻塞在该函数调用处,直到播放器正常启动后才返回。
32
33   :param 空:
34   :returns: 0: 成功,其他: 失败
35   :raises OSError: EINVAL
36   """
37   pass
38
39def stop():
40   """
41   停止音频播放,该接口为同步接口。程序会阻塞在该函数调用处,直到播放器正常停止后才返回。
42
43   :param 空:
44   :returns: 0: 成功,其他: 失败
45   :raises OSError: EINVAL
46   """
47   pass
48
49def pause():
50   """
51   暂停音频播放,该接口为同步接口。程序会阻塞在该函数调用处,直到播放器正常暂停后才返回。
52
53   :param 空:
54   :returns: 0: 成功,其他: 失败
55   :raises OSError: EINVAL
56   """
57   pass
58
59def resume():
60   """
61   恢复音频播放,该接口为同步接口。程序会阻塞在该函数调用处,直到播放器正常恢复后才返回。
62
63   :param 空:
64   :returns: 0: 成功,其他: 失败
65   :raises OSError: EINVAL
66   """
67   pass
68
69def complete():
70   """
71   等待当前播放完成,player进入standby状态。
72
73   :param 空:
74   :returns: 0: 成功,其他: 失败
75   :raises OSError: EINVAL
76   """
77   pass
78
79def stop_async():
80   """
81   停止音频播放,该接口为异步接口。程序调用该函数后会立即返回,而不会阻塞在该函数调用处。
82
83   :param 空:
84   :returns: 0: 成功,其他: 失败
85   :raises OSError: EINVAL
86   """
87   pass
88
89def pause_async():
90   """
91   暂停音频播放,该接口为异步接口。程序调用该函数后会立即返回,而不会阻塞在该函数调用处。
92
93   :param 空:
94   :returns: 0: 成功,其他: 失败
95   :raises OSError: EINVAL
96   """
97   pass
98
99def resume_async():
100   """
101   恢复音频播放,该接口为异步接口。程序调用该函数后会立即返回,而不会阻塞在该函数调用处。
102
103   :param 空:
104   :returns: 0: 成功,其他: 失败
105   :raises OSError: EINVAL
106   """
107   pass
108
109def pause_async():
110   """
111   暂停音频播放,该接口为异步接口。程序调用该函数后会立即返回,而不会阻塞在该函数调用处。
112
113   :param 空:
114   :returns: 0: 成功,其他: 失败
115   :raises OSError: EINVAL
116   """
117   pass
118
119def resume_async():
120   """
121   恢复音频播放,该接口为异步接口。程序调用该函数后会立即返回,而不会阻塞在该函数调用处。
122
123   :param 空:
124   :returns: 0: 成功,其他: 失败
125   :raises OSError: EINVAL
126   """
127   pass
128
129def set_source(source):
130   """
131   设置音频播放的音源,支持本地音源(data、sdcard)和URL音源。
132
133   :param source(str): 音频播放的音源;
134   :returns: 0: 成功,其他: 失败
135   :raises OSError: EINVAL
136   """
137   pass
138
139def clr_source():
140   """
141   清除音频播放的音源。
142
143   :param 空:
144   :returns: 0: 成功,其他: 失败
145   :raises OSError: EINVAL
146   """
147   pass
148
149def set_stream(format, cache_enable, cache_size):
150   """
151   设置音频播放信息。
152
153   :param format(int): 音频格式, 可以选择的类型为:
154
155      .. c:enum:: media_format_t
156
157         MEDIA_FMT_UNKNOWN = 0,
158
159         MEDIA_FMT_PCM,
160
161         MEDIA_FMT_WAV,
162
163         MEDIA_FMT_MP3,
164
165         MEDIA_FMT_AAC,
166
167         MEDIA_FMT_M4A,
168
169         MEDIA_FMT_OGG,
170
171         MEDIA_FMT_OPS,
172
173         MEDIA_FMT_SPX,
174
175         MEDIA_FMT_WMA,
176
177         MEDIA_FMT_AMR,
178
179         MEDIA_FMT_AMRWB,
180
181         MEDIA_FMT_FLAC,
182   :param cache_enable(int): 是否允许使能缓存。0:禁止, 其他:允许
183   :param cache_size(int): 允许使能缓存情况下缓存的大小。
184   :returns: 0: 成功,其他: 失败
185   :raises OSError: EINVAL
186   """
187   pass
188
189def put_stream(buffer,  nbytes):
190   """
191   填充音频数据到音频播放器, 播放内存流。示例::
192
193      p0.put_stream(bytearray([0,1,2,3,4,5,6,7,8,9]), 10)
194
195   :param buffer(bytearray): 待播放的的音频数据
196   :param nbytes(int): 待播放的音频数据字节数
197   :returns: 实际填充的音频数据,不大于nbytes数据;负数代表填充失败。
198   :raises OSError: EINVAL
199   """
200   pass
201
202def clr_stream(flush):
203   """
204   停止内存流播放并释放资源。
205
206   :param flush(int): 是否需要等待缓存中的数据全部播放完毕,1表示等待播完,0表示立即停止:
207   :returns: 0: 成功,其他: 失败
208   :raises OSError: EINVAL
209   """
210   pass
211
212def set_pcminfo(rate, channels, bits, frames):
213   """
214   设置播放PCM数据时音频播放器的参数。
215
216   :param rate(int): 音频采样率
217   :param channels(int): 音频通道数
218   :param bits(int): 音频位宽,取值范围为16,24或32,大部分音频为16.
219   :param frames(int): 音频帧字节数,对应DMA中断周期。每播放完成frames字节数据产生一次DMA中断。该值太小会持续产生DMA终端,太大会引入较大的音频播放延迟。
220   :returns: 0: 成功,其他: 失败
221   :raises OSError: EINVAL
222   """
223   pass
224
225def get_duration():
226   """
227   获取正在播放的文件总时长,单位为秒。
228
229   :param 空:
230   :returns: 正在播放的文件总时长,单位为秒。
231   :raises OSError: EINVAL
232   """
233   pass
234
235def get_position():
236   """
237   获取播放进度,单位为秒。
238
239   :param 空:
240   :returns: 播放进度,单位为秒
241   :raises OSError: EINVAL
242   """
243   pass
244
245def set_volume(volume):
246   """
247   设置播放音量。
248
249   :param volume(int): 音量等级,范围:0~10,0表示静音
250   :returns: 0: 成功,其他: 失败
251   :raises OSError: EINVAL
252   """
253   pass
254
255def get_volume():
256   """
257   获取当前播放音量。
258
259   :param 空:
260   :returns: 获取到的当前播放音量
261   :raises OSError: EINVAL
262   """
263   pass
264
265def volume_range():
266   """
267   播放器支持的音量范围。
268
269   :param 空:
270   :returns: dictionary类型, {'vol_min': 0, 'vol_max': 10}
271   :raises OSError: EINVAL
272   """
273   pass
274
275def seek(seconds):
276   """
277   定位到指定位置开始播放。
278
279   :param seconds(int): 播放定位位置,单位:秒
280   :returns: 0: 成功,其他: 失败
281   :raises OSError: EINVAL
282   """
283   pass
284
285def playback(source):
286   """
287   设置播放器音源并启动播放。
288
289   :param source(str): 音频播放的音源,支持本地音源(data、sdcard)和URL音源。
290   :returns: 0: 成功,其他: 失败
291   :raises OSError: EINVAL
292   """
293   pass
294
295def wait_complete():
296   """
297   等待当前音频播放完毕。
298
299   :param 空:
300   :returns: 0: 成功,其他: 失败
301   :raises OSError: EINVAL
302   """
303   pass
304
305def download(name):
306   """
307   下载URL音频文件到/sdcard/music文件夹。
308
309   :param name(str): 待下载音频文件URL信息
310   :returns: 0: 成功,其他: 失败
311   :raises OSError: EINVAL
312   """
313   pass
314
315def download_abort():
316   """
317   终止URL音频文件下载。
318
319   :param 空:
320   :returns: 0: 成功,其他: 失败
321   :raises OSError: EINVAL
322   """
323   pass
324
325def cache_config(config_dict):
326   """
327   设置播放缓存区。示例::
328
329      p0.cache_config({'place': 1, 'mem_size': 512, 'file_path': '/sdcard/'})
330
331   :param config_dict(dictionary): 格式如示例所示,其中:
332
333      place表示缓存文件存放的路径信息:0-空,1-文件系统,2-内存系统;
334
335      mem_size表示缓存文件大小,单位是KB;
336
337      file_path表示缓存文件全路径;
338   :returns: 实际填充的音频数据,不大于nbytes数据;负数代表填充失败。
339   :raises OSError: EINVAL
340   """
341   pass
342
343def set_fade(in_ms, out_ms):
344   """
345   设置音频启动和停止的时候渐入渐出的时长,单位为毫秒。
346
347   :param in_ms(int): 渐入时长
348   :param out_ms(int): 渐出时长
349   :returns: 0: 成功,其他: 失败
350   :raises OSError: EINVAL
351   """
352   pass
353
354def set_format(format):
355   """
356   设置音频格式。
357
358   :param format(int): 具体取值参考 ``set_stream``
359   :returns: 0: 成功,其他: 失败
360   :raises OSError: EINVAL
361   """
362   pass
363
364def set_standby(msec):
365   """
366   设置播放器静默时间,单位为毫秒。
367
368   :param msec(int): 静默时间:
369   :returns: 0: 成功,其他: 失败
370   :raises OSError: EINVAL
371   """
372   pass
373
374def eq_enable(enable):
375   """
376   是否使能音频播放器均衡功能。
377
378   :param enable(int): 是否使能均衡: 0表示不使能,1表示使能
379   :returns: 0: 成功,其他: 失败
380   :raises OSError: EINVAL
381   """
382   pass
383
384def state_dump():
385   """
386   导出播放器当前播放状态。
387
388   :param 空:
389   :returns: 0: 成功,其他: 失败
390   :raises OSError: EINVAL
391   """
392   pass
393
394def pcmdump_enable(enable):
395   """
396   是否使能导出播放器音频数据到指定目录,以便对音频播放数据分析。
397
398   :param enable(int): 是否使能导出功能: 0表示不使能,1表示使能
399   :returns: 0: 成功,其他: 失败
400   :raises OSError: EINVAL
401   """
402   pass
403
404def get_state():
405   """
406   获取播放器的状态。
407
408   :param 空:
409   :returns: 播放器状态,取值范围如下:
410
411   .. c:enum:: player_state_t
412
413      PLAYER_STAT_IDLE = 0,
414
415      PLAYER_STAT_READY,
416
417      PLAYER_STAT_RUNNING,
418
419      PLAYER_STAT_PAUSED,
420
421      PLAYER_STAT_RESUME,
422
423      PLAYER_STAT_STOP,
424
425      PLAYER_STAT_COMPLETE,
426
427      PLAYER_STAT_SEEK_CPLT,
428
429      PLAYER_STAT_MEDIA_INFO,
430
431      PLAYER_STAT_SOURCE_INVALID,
432
433      PLAYER_STAT_FORMAT_UNSUPPORT,
434
435      PLAYER_STAT_ERROR,
436   :raises OSError: EINVAL
437   """
438   pass
439
440def get_delay():
441   """
442   获取播放器延迟信息,单位为毫秒。
443
444   :param 空:
445   :returns: 播放器延迟。
446   :raises OSError: EINVAL
447   """
448   pass
449
450def get_mediainfo():
451   """
452   获取当前播放的音频文件信息。
453
454   :param 空:
455   :returns: 当前音频文件信息,格式为dictionary:
456
457      ‘name’: 名称
458
459      ‘author’: 演唱者
460
461      ‘album’: 专辑
462
463      ‘year’: 发行年月
464
465      ‘valid’: 有效性
466
467      ‘type’: 音频类型
468
469      ‘bitrate’: 音频码率
470
471      ‘media_size’: 音频文件大小
472
473      ‘duration: 音频文件时长
474   :raises OSError: EINVAL
475   """
476   pass
477
478def get_cacheinfo():
479   """
480   获取缓存信息。
481
482   :param 空:
483   :returns: 缓存区信息,格式为dictionary,具体格式参考 ``cache_config``。
484   :raises OSError: EINVAL
485   """
486   pass
487
488def format_support(format):
489   """
490   设置播放器支持的音源类型。
491
492   :param format(int): 音源类型,具体内容参考 ``set_stream``
493   :returns: 0: 成功,其他: 失败。
494   :raises OSError: EINVAL
495   """
496   pass
497