LMMediaPlayerView.h 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. //
  2. // iPodMusicSample
  3. //
  4. // Created by Akira Matsuda on 2014/01/10.
  5. // Copyright (c) 2014年 Akira Matsuda. All rights reserved.
  6. //
  7. #import <Foundation/Foundation.h>
  8. #import <UIKit/UIKit.h>
  9. #import "LMMediaPlayer.h"
  10. extern NSString *const LMMediaPlayerViewPlayButtonImageKey;
  11. extern NSString *const LMMediaPlayerViewPlayButtonSelectedImageKey;
  12. extern NSString *const LMMediaPlayerViewStopButtonImageKey;
  13. extern NSString *const LMMediaPlayerViewStopButtonSelectedImageKey;
  14. extern NSString *const LMMediaPlayerViewFullscreenButtonImageKey;
  15. extern NSString *const LMMediaPlayerViewFullscreenButtonSelectedImageKey;
  16. extern NSString *const LMMediaPlayerViewUnfullscreenButtonImageKey;
  17. extern NSString *const LMMediaPlayerViewUnfullscreenButtonSelectedImageKey;
  18. extern NSString *const LMMediaPlayerViewShuffleButtonShuffledImageKey;
  19. extern NSString *const LMMediaPlayerViewShuffleButtonShuffledSelectedImageKey;
  20. extern NSString *const LMMediaPlayerViewShuffleButtonUnshuffledImageKey;
  21. extern NSString *const LMMediaPlayerViewShuffleButtonUnshuffledSelectedImageKey;
  22. extern NSString *const LMMediaPlayerViewRepeatButtonRepeatOneImageKey;
  23. extern NSString *const LMMediaPlayerViewRepeatButtonRepeatOneSelectedImageKey;
  24. extern NSString *const LMMediaPlayerViewRepeatButtonRepeatAllImageKey;
  25. extern NSString *const LMMediaPlayerViewRepeatButtonRepeatAllSelectedImageKey;
  26. extern NSString *const LMMediaPlayerViewRepeatButtonRepeatNoneImageKey;
  27. extern NSString *const LMMediaPlayerViewRepeatButtonRepeatNoneSelectedImageKey;
  28. extern NSString *const LMMediaPlayerViewActionButtonImageKey;
  29. @class LMMediaPlayerView;
  30. @protocol LMMediaPlayerViewDelegate <NSObject>
  31. @required
  32. - (BOOL)mediaPlayerViewWillStartPlaying:(LMMediaPlayerView *)playerView media:(LMMediaItem *)media;
  33. @optional
  34. - (void)mediaPlayerViewWillChangeState:(LMMediaPlayerView *)playerView state:(LMMediaPlaybackState)state;
  35. - (void)mediaPlayerViewDidStartPlaying:(LMMediaPlayerView *)playerView media:(LMMediaItem *)media;
  36. - (void)mediaPlayerViewDidFinishPlaying:(LMMediaPlayerView *)playerView media:(LMMediaItem *)media;
  37. - (void)mediaPlayerViewDidChangeCurrentTime:(LMMediaPlayerView *)playerView;
  38. - (void)mediaPlayerViewDidChangeRepeatMode:(LMMediaRepeatMode)mode playerView:(LMMediaPlayerView *)playerView;
  39. - (void)mediaPlayerViewDidChangeShuffleMode:(BOOL)enabled playerView:(LMMediaPlayerView *)playerView;
  40. - (void)mediaPlayerViewWillChangeFullscreenMode:(BOOL)fullscreen;
  41. - (void)mediaPlayerViewDidChangeFullscreenMode:(BOOL)fullscreen;
  42. @end
  43. @interface LMMediaPlayerView : UIView <LMMediaPlayerDelegate>
  44. @property (nonatomic, assign) id<LMMediaPlayerViewDelegate> delegate;
  45. @property (nonatomic, readonly) LMMediaPlayer *mediaPlayer;
  46. @property (nonatomic, unsafe_unretained) IBOutlet UISlider *currentTimeSlider;
  47. @property (nonatomic, unsafe_unretained) IBOutlet UILabel *titleLabel;
  48. @property (nonatomic, readonly) BOOL isFullscreen;
  49. @property (nonatomic, unsafe_unretained) IBOutlet UIButton *nextButton;
  50. @property (nonatomic, unsafe_unretained) IBOutlet UIButton *fullscreenButton_;
  51. @property (nonatomic, unsafe_unretained) IBOutlet UIButton *previousButton;
  52. @property (nonatomic, readonly) UIButton *actionButton;
  53. @property (nonatomic, assign) BOOL userInterfaceHidden;
  54. @property (nonatomic, readonly) BOOL bluredUserInterface;
  55. + (instancetype)sharedPlayerView;
  56. + (instancetype)create;
  57. - (void)setHeaderViewHidden:(BOOL)hidden;
  58. - (void)setFooterViewHidden:(BOOL)hidden;
  59. - (void)setFullscreen:(BOOL)fullscreen animated:(BOOL)animated;
  60. - (void)setFullscreen:(BOOL)fullscreen;
  61. - (void)setButtonImages:(NSDictionary *)info;
  62. - (void)setBluredUserInterface:(BOOL)bluredUserInterface visualEffect:(UIVisualEffect *)effect;
  63. @end