QMAudioAnimation.m 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. //
  2. // QMAudioAnimation.m
  3. // IMSDK-OC
  4. //
  5. // Created by haochongfeng on 2017/5/18.
  6. // Copyright © 2017年 HCF. All rights reserved.
  7. //
  8. #import "QMAudioAnimation.h"
  9. @interface QMAudioAnimation() {
  10. UIImageView *_animationView;
  11. }
  12. @end
  13. @implementation QMAudioAnimation
  14. static QMAudioAnimation * instance = nil;
  15. + (QMAudioAnimation *)sharedInstance {
  16. static dispatch_once_t onceToken;
  17. dispatch_once(&onceToken, ^{
  18. instance = [[self alloc] init];
  19. });
  20. return instance;
  21. }
  22. + (id)allocWithZone:(struct _NSZone *)zone {
  23. static dispatch_once_t onceToken;
  24. dispatch_once(&onceToken, ^{
  25. instance = [super allocWithZone:zone];
  26. });
  27. return instance;
  28. }
  29. - (void)setAudioAnimationPlay:(BOOL)sender and:(UIImageView *)imageView {
  30. NSArray *images;
  31. if (sender) {
  32. images = [NSArray arrayWithObjects:[UIImage imageNamed:@"SenderVoiceNodePlaying001"],[UIImage imageNamed:@"SenderVoiceNodePlaying002"],[UIImage imageNamed:@"SenderVoiceNodePlaying003"], nil];
  33. imageView.image = [UIImage imageNamed:@"SenderVoiceNodePlaying"];
  34. }else {
  35. images = [NSArray arrayWithObjects:[UIImage imageNamed:@"ReceiverVoiceNodePlaying001"],[UIImage imageNamed:@"ReceiverVoiceNodePlaying002"],[UIImage imageNamed:@"ReceiverVoiceNodePlaying003"], nil];
  36. imageView.image = [UIImage imageNamed:@"ReceiverVoiceNodePlaying"];
  37. }
  38. imageView.animationImages = images;
  39. }
  40. - (void)stopAudioAnimation {
  41. if (_animationView) {
  42. [_animationView stopAnimating];
  43. }
  44. }
  45. - (void)startAudioAnimation:(UIImageView *)imageView {
  46. _animationView = imageView;
  47. imageView.isAnimating ? [imageView stopAnimating] : [imageView startAnimating];
  48. }
  49. - (void)stopAudioAnimation:(UIImageView *)imageView {
  50. if (imageView) {
  51. [imageView stopAnimating];
  52. }else {
  53. [_animationView stopAnimating];
  54. }
  55. }
  56. @end