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