# * coding: UTF8 *
"""
Player模块具体接口和参数如下所示。
==========================================================================================
"""
[文档]def create():
"""
创建播放器。
:param 空:
:returns: 0: 成功,其他: 失败
:raises OSError: ENXIO
"""
pass
[文档]def release():
"""
释放由create函数创建的播放器。
:param 空:
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def start():
"""
开始音频播放,该接口为同步接口。程序会阻塞在该函数调用处,直到播放器正常启动后才返回。
:param 空:
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def stop():
"""
停止音频播放,该接口为同步接口。程序会阻塞在该函数调用处,直到播放器正常停止后才返回。
:param 空:
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def pause():
"""
暂停音频播放,该接口为同步接口。程序会阻塞在该函数调用处,直到播放器正常暂停后才返回。
:param 空:
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def resume():
"""
恢复音频播放,该接口为同步接口。程序会阻塞在该函数调用处,直到播放器正常恢复后才返回。
:param 空:
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def complete():
"""
等待当前播放完成,player进入standby状态。
:param 空:
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def stop_async():
"""
停止音频播放,该接口为异步接口。程序调用该函数后会立即返回,而不会阻塞在该函数调用处。
:param 空:
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
def pause_async():
"""
暂停音频播放,该接口为异步接口。程序调用该函数后会立即返回,而不会阻塞在该函数调用处。
:param 空:
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
def resume_async():
"""
恢复音频播放,该接口为异步接口。程序调用该函数后会立即返回,而不会阻塞在该函数调用处。
:param 空:
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def pause_async():
"""
暂停音频播放,该接口为异步接口。程序调用该函数后会立即返回,而不会阻塞在该函数调用处。
:param 空:
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def resume_async():
"""
恢复音频播放,该接口为异步接口。程序调用该函数后会立即返回,而不会阻塞在该函数调用处。
:param 空:
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def set_source(source):
"""
设置音频播放的音源,支持本地音源(data、sdcard)和URL音源。
:param source(str): 音频播放的音源;
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def clr_source():
"""
清除音频播放的音源。
:param 空:
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def set_stream(format, cache_enable, cache_size):
"""
设置音频播放信息。
:param format(int): 音频格式, 可以选择的类型为:
.. c:enum:: media_format_t
MEDIA_FMT_UNKNOWN = 0,
MEDIA_FMT_PCM,
MEDIA_FMT_WAV,
MEDIA_FMT_MP3,
MEDIA_FMT_AAC,
MEDIA_FMT_M4A,
MEDIA_FMT_OGG,
MEDIA_FMT_OPS,
MEDIA_FMT_SPX,
MEDIA_FMT_WMA,
MEDIA_FMT_AMR,
MEDIA_FMT_AMRWB,
MEDIA_FMT_FLAC,
:param cache_enable(int): 是否允许使能缓存。0:禁止, 其他:允许
:param cache_size(int): 允许使能缓存情况下缓存的大小。
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def put_stream(buffer, nbytes):
"""
填充音频数据到音频播放器, 播放内存流。示例::
p0.put_stream(bytearray([0,1,2,3,4,5,6,7,8,9]), 10)
:param buffer(bytearray): 待播放的的音频数据
:param nbytes(int): 待播放的音频数据字节数
:returns: 实际填充的音频数据,不大于nbytes数据;负数代表填充失败。
:raises OSError: EINVAL
"""
pass
[文档]def clr_stream(flush):
"""
停止内存流播放并释放资源。
:param flush(int): 是否需要等待缓存中的数据全部播放完毕,1表示等待播完,0表示立即停止:
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def set_pcminfo(rate, channels, bits, frames):
"""
设置播放PCM数据时音频播放器的参数。
:param rate(int): 音频采样率
:param channels(int): 音频通道数
:param bits(int): 音频位宽,取值范围为16,24或32,大部分音频为16.
:param frames(int): 音频帧字节数,对应DMA中断周期。每播放完成frames字节数据产生一次DMA中断。该值太小会持续产生DMA终端,太大会引入较大的音频播放延迟。
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def get_duration():
"""
获取正在播放的文件总时长,单位为秒。
:param 空:
:returns: 正在播放的文件总时长,单位为秒。
:raises OSError: EINVAL
"""
pass
[文档]def get_position():
"""
获取播放进度,单位为秒。
:param 空:
:returns: 播放进度,单位为秒
:raises OSError: EINVAL
"""
pass
[文档]def set_volume(volume):
"""
设置播放音量。
:param volume(int): 音量等级,范围:0~10,0表示静音
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def get_volume():
"""
获取当前播放音量。
:param 空:
:returns: 获取到的当前播放音量
:raises OSError: EINVAL
"""
pass
[文档]def volume_range():
"""
播放器支持的音量范围。
:param 空:
:returns: dictionary类型, {'vol_min': 0, 'vol_max': 10}
:raises OSError: EINVAL
"""
pass
[文档]def seek(seconds):
"""
定位到指定位置开始播放。
:param seconds(int): 播放定位位置,单位:秒
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def playback(source):
"""
设置播放器音源并启动播放。
:param source(str): 音频播放的音源,支持本地音源(data、sdcard)和URL音源。
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def wait_complete():
"""
等待当前音频播放完毕。
:param 空:
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def download(name):
"""
下载URL音频文件到/sdcard/music文件夹。
:param name(str): 待下载音频文件URL信息
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def download_abort():
"""
终止URL音频文件下载。
:param 空:
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def cache_config(config_dict):
"""
设置播放缓存区。示例::
p0.cache_config({'place': 1, 'mem_size': 512, 'file_path': '/sdcard/'})
:param config_dict(dictionary): 格式如示例所示,其中:
place表示缓存文件存放的路径信息:0-空,1-文件系统,2-内存系统;
mem_size表示缓存文件大小,单位是KB;
file_path表示缓存文件全路径;
:returns: 实际填充的音频数据,不大于nbytes数据;负数代表填充失败。
:raises OSError: EINVAL
"""
pass
[文档]def set_fade(in_ms, out_ms):
"""
设置音频启动和停止的时候渐入渐出的时长,单位为毫秒。
:param in_ms(int): 渐入时长
:param out_ms(int): 渐出时长
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def set_standby(msec):
"""
设置播放器静默时间,单位为毫秒。
:param msec(int): 静默时间:
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def eq_enable(enable):
"""
是否使能音频播放器均衡功能。
:param enable(int): 是否使能均衡: 0表示不使能,1表示使能
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def state_dump():
"""
导出播放器当前播放状态。
:param 空:
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def pcmdump_enable(enable):
"""
是否使能导出播放器音频数据到指定目录,以便对音频播放数据分析。
:param enable(int): 是否使能导出功能: 0表示不使能,1表示使能
:returns: 0: 成功,其他: 失败
:raises OSError: EINVAL
"""
pass
[文档]def get_state():
"""
获取播放器的状态。
:param 空:
:returns: 播放器状态,取值范围如下:
.. c:enum:: player_state_t
PLAYER_STAT_IDLE = 0,
PLAYER_STAT_READY,
PLAYER_STAT_RUNNING,
PLAYER_STAT_PAUSED,
PLAYER_STAT_RESUME,
PLAYER_STAT_STOP,
PLAYER_STAT_COMPLETE,
PLAYER_STAT_SEEK_CPLT,
PLAYER_STAT_MEDIA_INFO,
PLAYER_STAT_SOURCE_INVALID,
PLAYER_STAT_FORMAT_UNSUPPORT,
PLAYER_STAT_ERROR,
:raises OSError: EINVAL
"""
pass
[文档]def get_delay():
"""
获取播放器延迟信息,单位为毫秒。
:param 空:
:returns: 播放器延迟。
:raises OSError: EINVAL
"""
pass
[文档]def get_cacheinfo():
"""
获取缓存信息。
:param 空:
:returns: 缓存区信息,格式为dictionary,具体格式参考 ``cache_config``。
:raises OSError: EINVAL
"""
pass