JXAudioPlayer.h 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. //
  2. // JXAudioPlayer.h
  3. // shiku_im
  4. //
  5. // Created by flyeagleTang on 17/1/12.
  6. // Copyright © 2017年 Reese. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "JXWaitView.h"
  10. #define kAllAudioPlayerStopNotifaction @"kAllAudioPlayerStopNotifaction"//退出程序时,保存未读消息
  11. #define kAllAudioPlayerPauseNotifaction @"kAllAudioPlayerPauseNotifaction"//退出程序时,保存未读消息
  12. @interface JXAudioPlayer : NSObject<AVAudioPlayerDelegate>{
  13. AVAudioPlayer *_player;
  14. BOOL _isOpened;
  15. JXWaitView* _wait;
  16. JXImageView * _voiceView;
  17. UILabel* _timeLenView;
  18. NSMutableArray* _array;
  19. }
  20. @property (nonatomic, strong, setter=setAudioFile:)NSString* audioFile;//可动态改变文件
  21. @property (nonatomic, strong, setter=setParent:) UIView* parent;//可动态改变父亲
  22. @property (nonatomic, strong) UIButton* pauseBtn;
  23. @property (nonatomic, strong) AVAudioPlayer* player;
  24. @property (nonatomic, strong) JXImageView * voiceBtn;
  25. @property (nonatomic, strong) UILabel* timeLenView;
  26. @property (nonatomic, strong) UIProgressView * progressView;
  27. @property (nonatomic, strong) UIView* pgBGView; //进度条背景
  28. @property (nonatomic, strong) id delegate;
  29. @property (nonatomic, assign) SEL didAudioOpen;//打开音频
  30. @property (nonatomic, assign) SEL didAudioPlayEnd;//播放结束
  31. @property (nonatomic, assign) SEL didAudioPlayBegin;//点击播放
  32. @property (nonatomic, assign) SEL didAudioPause;//播放暂停
  33. @property (nonatomic, assign) BOOL isPlaying;//播放中
  34. @property (nonatomic, assign, setter=setTimeLen:) int timeLen;
  35. @property (nonatomic, assign, setter=setIsLeft:) BOOL isLeft;
  36. @property (nonatomic, assign,setter=setHidden:) BOOL hidden;
  37. @property (nonatomic, assign, setter=setFrame:) CGRect frame;
  38. @property (nonatomic, assign) BOOL showProgress;//长于10s的音频默认启用进度条,设NO不显示
  39. @property (nonatomic, strong) NSTimer * timer;
  40. @property (nonatomic, assign) BOOL isNotStopLast;
  41. @property (nonatomic, assign) BOOL isOpenProximityMonitoring; // 是否开启贴脸检测
  42. @property (nonatomic, assign) BOOL isChatAudio;
  43. -(id)initWithParent:(UIView*)parent;//指定父亲建立,显示播放暂停按钮
  44. -(id)initWithParent:(UIView*)parent frame:(CGRect)frame isLeft:(BOOL)isLeft;//指定父亲、frame、方向建立动画播放view
  45. -(id)init;//不可视
  46. -(void)open;
  47. -(void)play;
  48. -(void)pause;
  49. -(void)stop;
  50. -(void)switch;
  51. //-(void)wavToamr:(NSString*)source target:(NSString*)target;
  52. //-(void)amrTowav:(NSString*)source target:(NSString*)target;
  53. @end