• AVAudioPlayer属性


    支持的文件格式:(它是以后缀名进行识别的,后缀名就是格式,如果后缀名与真实的格式不一致,它就播放不了)

    • AAC
    • AMR (Adaptive multi-Rate,一种语音格式)
    • ALAC (Apple lossless Audio Codec)
    • iLBC (internet Low Bitrate Codec,另一种语音格式)
    • IMA4 (IMA/ADPCM)
    • linearPCM (uncompressed)
    • u-law 和 a-law
    • MP3 (MPEG-Laudio Layer 3)
    属性 描述
    @property(readonly, getter=isPlaying) BOOL playing 是否正在播放,只读
    @property float volume 音量大小,范围0~1.0
    @property float pan 立体声,-1.0完全左声道,0.0左右声道平衡,1.0完全右声道
    @property float rate 播放速率,范围0.5~2.0,1.0时为正常播放,如果需要更改播放速率必须设置enableRate为YES
    @property BOOL enableRate 是否可以更改播放速率
    @property NSInteger numberOfLoops 重复播放次数,为0时只播放一次,小于0时为无限播放,大于0时表示循环次数
    @property(readonly) NSDictionary *settings 音频播放次数信息,只读
    @property(readonly) NSUInteger numberOfChannels 与音频播放器相关联的声音通道的数量。(只读)
    @property(nonatomic, copy) NSArray *channelAssignments 与音频播放器相关AVAudioSessionChannelDescription对象数组
    @property(readonly) NSTimeInterval duration 播放时长
    @property NSTimeInterval currentTime 当前播放时长
    @property(readonly) NSTimeInterval deviceCurrentTime 输出设备播放音频的时间,注意如果播放中被暂停此时间也会继续累加
    @property(readonly) NSURL *url 音频文件路径,只读
    @property(readonly) NSData *data 音频数据,只读
    @property(getter=isMeteringEnabled) BOOL meteringEnabled 否启用音频测量,默认为NO,一旦启用音频测量可以通过updateMeters方法更新测量值
    对象方法 描述
    - (instancetype)initWithContentsOfURL:(NSURL *)url  error:(NSError **)outError 使用文件URL初始化播放器,注意这个URL不能是HTTP URL,AVAudioPlayer不支持加载网络媒体流,只能播放本地文件
    - (instancetype)initWithData:(NSData *)data error:(NSError **)outError

    使用NSData初始化播放器,注意使用此方法时必须文件格式和文件后缀一致,否则出错,所以相比此方法更推荐使用上述方法

    或- (instancetype)initWithData:(NSData *)data fileTypeHint:(NSString *)utiString error:(NSError **)outError方法进行初始化

    - (BOOL)play 播放音频文件
    - (BOOL)playAtTime:(NSTimeInterval)time 在指定的时间开始播放音频;延迟播放;使用的时候先获取设备当前时间+延时播放
    - (void)pause 暂停播放
    - (void)stop 停止播放
    - (BOOL)prepareToPlay 将音频文件加载到缓冲区
    - (float)averagePowerForChannel:(NSUInteger)channelNumber 获得指定声道的分贝平均值,注意如果要获得分贝平均值必须在此之前调用updateMeters方法
    - (float)peakPowerForChannel:(NSUInteger)channelNumber 获得指定声道的分贝峰值,注意如果要获得分贝峰值必须在此之前调用updateMeters方法
    - (void)updateMeters 更新音频测量值,注意如果要更新音频测量值必须设置meteringEnabled为YES,通过音频测量值可以即时获得音频分贝等信息
    代理方法 说明
    - (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag 播放完成后调用,在这里可以进行一些属性的设置
    - (void)audioPlayerDecodeErrorDidOccur:(AVAudioPlayer *)player error:(NSError *)error 音频解码发生错误

    参考:

    sjzLovecj

  • 相关阅读:
    Python爬虫系列(六):搜索文档树
    Python爬虫系列(五):分析HTML结构
    Python爬虫系列(四):Beautiful Soup解析HTML之把HTML转成Python对象
    Python爬虫系列(三):requests高级耍法
    Python爬虫系列(二):requests基础
    Python爬虫系列(一):从零开始,安装环境
    Python操作rabbitmq系列(六):进行RPC调用
    Python操作rabbitmq系列(五):根据主题分配消息
    Python操作rabbitmq系列(四):根据类型订阅消息
    Django使用模板进行动态局部刷新
  • 原文地址:https://www.cnblogs.com/8335IT/p/14340316.html
Copyright © 2020-2023  润新知