Commit 5d6abfa4 cgx

完成音频播放UI

1 个父辈 f86335be
正在显示 75 个修改的文件 包含 488 行增加14 行删除
...@@ -158,6 +158,8 @@ ...@@ -158,6 +158,8 @@
D0F80907280431100097899F /* UILabel+Extras.m in Sources */ = {isa = PBXBuildFile; fileRef = D0F80906280431100097899F /* UILabel+Extras.m */; }; D0F80907280431100097899F /* UILabel+Extras.m in Sources */ = {isa = PBXBuildFile; fileRef = D0F80906280431100097899F /* UILabel+Extras.m */; };
D0F82286280C44D10039F586 /* SetTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = D0F82285280C44D10039F586 /* SetTableView.m */; }; D0F82286280C44D10039F586 /* SetTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = D0F82285280C44D10039F586 /* SetTableView.m */; };
D0F9AC542826563400FD7A3B /* MusicPlayerController.m in Sources */ = {isa = PBXBuildFile; fileRef = D0F9AC532826563400FD7A3B /* MusicPlayerController.m */; }; D0F9AC542826563400FD7A3B /* MusicPlayerController.m in Sources */ = {isa = PBXBuildFile; fileRef = D0F9AC532826563400FD7A3B /* MusicPlayerController.m */; };
D0F9AC582826602400FD7A3B /* SPButton.m in Sources */ = {isa = PBXBuildFile; fileRef = D0F9AC572826602400FD7A3B /* SPButton.m */; };
D0F9AC5E282660CC00FD7A3B /* MusicPlayerView.m in Sources */ = {isa = PBXBuildFile; fileRef = D0F9AC5D282660CC00FD7A3B /* MusicPlayerView.m */; };
D0FAC41C281B817D00D4B859 /* GKLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = D0FAC406281B817D00D4B859 /* GKLoadingView.m */; }; D0FAC41C281B817D00D4B859 /* GKLoadingView.m in Sources */ = {isa = PBXBuildFile; fileRef = D0FAC406281B817D00D4B859 /* GKLoadingView.m */; };
D0FAC41D281B817D00D4B859 /* GKPhotoBrowser.m in Sources */ = {isa = PBXBuildFile; fileRef = D0FAC40C281B817D00D4B859 /* GKPhotoBrowser.m */; }; D0FAC41D281B817D00D4B859 /* GKPhotoBrowser.m in Sources */ = {isa = PBXBuildFile; fileRef = D0FAC40C281B817D00D4B859 /* GKPhotoBrowser.m */; };
D0FAC41E281B817D00D4B859 /* GKPhotoManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D0FAC40F281B817D00D4B859 /* GKPhotoManager.m */; }; D0FAC41E281B817D00D4B859 /* GKPhotoManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D0FAC40F281B817D00D4B859 /* GKPhotoManager.m */; };
...@@ -463,6 +465,10 @@ ...@@ -463,6 +465,10 @@
D0F82285280C44D10039F586 /* SetTableView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SetTableView.m; sourceTree = "<group>"; }; D0F82285280C44D10039F586 /* SetTableView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SetTableView.m; sourceTree = "<group>"; };
D0F9AC522826563400FD7A3B /* MusicPlayerController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MusicPlayerController.h; sourceTree = "<group>"; }; D0F9AC522826563400FD7A3B /* MusicPlayerController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MusicPlayerController.h; sourceTree = "<group>"; };
D0F9AC532826563400FD7A3B /* MusicPlayerController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MusicPlayerController.m; sourceTree = "<group>"; }; D0F9AC532826563400FD7A3B /* MusicPlayerController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MusicPlayerController.m; sourceTree = "<group>"; };
D0F9AC562826602400FD7A3B /* SPButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPButton.h; sourceTree = "<group>"; };
D0F9AC572826602400FD7A3B /* SPButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPButton.m; sourceTree = "<group>"; };
D0F9AC5C282660CC00FD7A3B /* MusicPlayerView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MusicPlayerView.h; sourceTree = "<group>"; };
D0F9AC5D282660CC00FD7A3B /* MusicPlayerView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MusicPlayerView.m; sourceTree = "<group>"; };
D0FAC406281B817D00D4B859 /* GKLoadingView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GKLoadingView.m; sourceTree = "<group>"; }; D0FAC406281B817D00D4B859 /* GKLoadingView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GKLoadingView.m; sourceTree = "<group>"; };
D0FAC407281B817D00D4B859 /* GKWebImageProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GKWebImageProtocol.h; sourceTree = "<group>"; }; D0FAC407281B817D00D4B859 /* GKWebImageProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GKWebImageProtocol.h; sourceTree = "<group>"; };
D0FAC408281B817D00D4B859 /* GKPhotoManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GKPhotoManager.h; sourceTree = "<group>"; }; D0FAC408281B817D00D4B859 /* GKPhotoManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GKPhotoManager.h; sourceTree = "<group>"; };
...@@ -1003,6 +1009,7 @@ ...@@ -1003,6 +1009,7 @@
D0E9408127FE961300D57495 /* Vendors */ = { D0E9408127FE961300D57495 /* Vendors */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
D0F9AC552826602400FD7A3B /* SPButton */,
D01814D927FFD91100583D4E /* DataSource */, D01814D927FFD91100583D4E /* DataSource */,
D01814CA27FFCBAF00583D4E /* CWCarousel */, D01814CA27FFCBAF00583D4E /* CWCarousel */,
D046FDF528100342000295AC /* UMSocial_6.10.4 */, D046FDF528100342000295AC /* UMSocial_6.10.4 */,
...@@ -1054,6 +1061,8 @@ ...@@ -1054,6 +1061,8 @@
D055BECA28252E4000BC11A4 /* SubAudioModel.m */, D055BECA28252E4000BC11A4 /* SubAudioModel.m */,
D0F9AC522826563400FD7A3B /* MusicPlayerController.h */, D0F9AC522826563400FD7A3B /* MusicPlayerController.h */,
D0F9AC532826563400FD7A3B /* MusicPlayerController.m */, D0F9AC532826563400FD7A3B /* MusicPlayerController.m */,
D0F9AC5C282660CC00FD7A3B /* MusicPlayerView.h */,
D0F9AC5D282660CC00FD7A3B /* MusicPlayerView.m */,
); );
path = Home; path = Home;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -1115,6 +1124,15 @@ ...@@ -1115,6 +1124,15 @@
path = FallAsleep; path = FallAsleep;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
D0F9AC552826602400FD7A3B /* SPButton */ = {
isa = PBXGroup;
children = (
D0F9AC562826602400FD7A3B /* SPButton.h */,
D0F9AC572826602400FD7A3B /* SPButton.m */,
);
path = SPButton;
sourceTree = "<group>";
};
D0FAC404281B817D00D4B859 /* GKPhotoBrowser */ = { D0FAC404281B817D00D4B859 /* GKPhotoBrowser */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
...@@ -1433,6 +1451,7 @@ ...@@ -1433,6 +1451,7 @@
D08F79DE281A1838000D99DD /* TZPhotoPickerController.m in Sources */, D08F79DE281A1838000D99DD /* TZPhotoPickerController.m in Sources */,
D04B3DC027F6F82D0022F8DF /* ProfileController.m in Sources */, D04B3DC027F6F82D0022F8DF /* ProfileController.m in Sources */,
D01C9D7028168BFC00163567 /* NSDate+Extension.m in Sources */, D01C9D7028168BFC00163567 /* NSDate+Extension.m in Sources */,
D0F9AC582826602400FD7A3B /* SPButton.m in Sources */,
D0DB33A528204E7C00E15914 /* FirstLeadAlertView.m in Sources */, D0DB33A528204E7C00E15914 /* FirstLeadAlertView.m in Sources */,
D0C50B3027FD1BEB00DC68F0 /* PrivacyView.m in Sources */, D0C50B3027FD1BEB00DC68F0 /* PrivacyView.m in Sources */,
D0B5ECD527F2F0B2003EDFE3 /* AdaptationUtil.m in Sources */, D0B5ECD527F2F0B2003EDFE3 /* AdaptationUtil.m in Sources */,
...@@ -1543,6 +1562,7 @@ ...@@ -1543,6 +1562,7 @@
D08F79DD281A1838000D99DD /* TZImageManager.m in Sources */, D08F79DD281A1838000D99DD /* TZImageManager.m in Sources */,
D0506B1828054ECD00229278 /* SafeHelperCollectionView.m in Sources */, D0506B1828054ECD00229278 /* SafeHelperCollectionView.m in Sources */,
D04B3DC327F6F9390022F8DF /* HomeViewController.m in Sources */, D04B3DC327F6F9390022F8DF /* HomeViewController.m in Sources */,
D0F9AC5E282660CC00FD7A3B /* MusicPlayerView.m in Sources */,
D08F79D7281A1838000D99DD /* TZAssetModel.m in Sources */, D08F79D7281A1838000D99DD /* TZAssetModel.m in Sources */,
D01C9D6F28168BFC00163567 /* WSDatePickerView.m in Sources */, D01C9D6F28168BFC00163567 /* WSDatePickerView.m in Sources */,
); );
......
...@@ -110,6 +110,7 @@ ...@@ -110,6 +110,7 @@
} else { } else {
// 跳转到播放页面 // 跳转到播放页面
MusicPlayerController *playerVC = [[MusicPlayerController alloc] init]; MusicPlayerController *playerVC = [[MusicPlayerController alloc] init];
playerVC.audioModel = model;
UINavigationController *naviVC = [[UINavigationController alloc] initWithRootViewController:playerVC]; UINavigationController *naviVC = [[UINavigationController alloc] initWithRootViewController:playerVC];
[self presentViewController:naviVC animated:YES completion:nil]; [self presentViewController:naviVC animated:YES completion:nil];
} }
......
...@@ -6,12 +6,13 @@ ...@@ -6,12 +6,13 @@
// //
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#import "SubAudioModel.h"
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
/// 音频播放界面 /// 音频播放界面
@interface MusicPlayerController : UIViewController @interface MusicPlayerController : UIViewController
@property (nonatomic, strong) SubAudioModel *audioModel;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END
...@@ -6,18 +6,22 @@ ...@@ -6,18 +6,22 @@
// //
#import "MusicPlayerController.h" #import "MusicPlayerController.h"
#import "MusicPlayerView.h"
@interface MusicPlayerController () @interface MusicPlayerController ()
@property (nonatomic, strong) UIButton *dismissBtn; @property (nonatomic, strong) MusicPlayerView *playerView;
@end @end
@implementation MusicPlayerController @implementation MusicPlayerController
- (void)loadView {
self.view = self.playerView;
}
- (void)viewDidLoad { - (void)viewDidLoad {
[super viewDidLoad]; [super viewDidLoad];
self.view.dk_backgroundColorPicker = DKColorPickerWithKey(VCViewBG); [self.playerView updatePlayerView:self.audioModel];
[self.view addSubview:self.dismissBtn];
} }
#pragma mark - 隐藏导航栏 #pragma mark - 隐藏导航栏
...@@ -30,18 +34,12 @@ ...@@ -30,18 +34,12 @@
return [self.dk_manager.themeVersion isEqualToString:DKThemeVersionNormal] ? UIStatusBarStyleDefault : UIStatusBarStyleLightContent; return [self.dk_manager.themeVersion isEqualToString:DKThemeVersionNormal] ? UIStatusBarStyleDefault : UIStatusBarStyleLightContent;
} }
- (void)dismiss {
[self dismissViewControllerAnimated:YES completion:nil];
}
#pragma mark - lazy #pragma mark - lazy
- (UIButton *)dismissBtn { - (MusicPlayerView *)playerView {
if (!_dismissBtn) { if (!_playerView) {
_dismissBtn = [[UIButton alloc] initWithFrame:CGRectMake(15, kStatusBarHeight + 19, 30, 30)]; _playerView = [MusicPlayerView new];
[_dismissBtn dk_setImage:DKImagePickerWithNames(@"home_close", @"dk_home_close", @"home_close") forState:UIControlStateNormal];
[_dismissBtn addTarget:self action:@selector(dismiss) forControlEvents:UIControlEventTouchUpInside];
} }
return _dismissBtn; return _playerView;
} }
@end @end
//
// MusicPlayerView.h
// DreamSleep
//
// Created by peter on 2022/5/7.
//
#import <UIKit/UIKit.h>
#import "SubAudioModel.h"
typedef NS_ENUM(NSInteger, SoundPlayMode) {
SoundPlayModeSingle, // 单节播放
SoundPlayModeCycle, // 单曲循环
SoundPlayModeOrder // 顺序播放
};
NS_ASSUME_NONNULL_BEGIN
/// 音频播放页面
@interface MusicPlayerView : UIView
- (void)updatePlayerView:(SubAudioModel *)model;
@end
NS_ASSUME_NONNULL_END
{
"images" : [
{
"filename" : "audio_pause.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "audio_pause@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "audio_pause@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "audio_play_icon.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "audio_play_icon@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "dk_audio_pause.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "dk_audio_pause@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "dk_audio_pause@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "dk_audio_play_icon.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "dk_audio_play_icon@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "dk_audio_play_icon@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "dk_order_play.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "dk_order_play@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "dk_order_play@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "dk_playlist_icon.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "dk_playlist_icon@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "dk_playlist_icon@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "dk_single_cycle.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "dk_single_cycle@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "dk_single_cycle@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "dk_single_play.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "dk_single_play@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "dk_single_play@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "dk_time_close_icon.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "dk_time_close_icon@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "dk_time_close_icon@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "muse_slider_thumbImage.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "muse_slider_thumbImage@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "muse_slider_thumbImage@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "next_icon.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "next_icon@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "next_icon@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "order_play.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "order_play@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "order_play@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "playlist_icon.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "playlist_icon@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "playlist_icon@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "previous_icon.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "previous_icon@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "previous_icon@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "single_cycle.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "single_cycle@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "single_cycle@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "single_play.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "single_play@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "single_play@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "time_close_icon.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "time_close_icon@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "time_close_icon@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
//
// SPButton.h
// SPButton
//
// Created by 乐升平 on 2018/11/20.
// Copyright © 2018 乐升平. All rights reserved.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, SPButtonImagePosition) {
SPButtonImagePositionLeft = 0, // 图片在文字左侧
SPButtonImagePositionRight = 1, // 图片在文字右侧
SPButtonImagePositionTop = 2, // 图片在文字上侧
SPButtonImagePositionBottom = 3 // 图片在文字下侧
};
IB_DESIGNABLE
@interface SPButton : UIButton
- (instancetype)initWithImagePosition:(SPButtonImagePosition)imagePosition;
#if TARGET_INTERFACE_BUILDER // storyBoard/xib中设置
@property (nonatomic,assign) IBInspectable NSInteger imagePosition; // 图片位置
@property (nonatomic, assign) IBInspectable CGFloat imageTitleSpace; // 图片和文字之间的间距
#else // 纯代码设置
@property (nonatomic) SPButtonImagePosition imagePosition; // 图片位置
@property (nonatomic, assign) CGFloat imageTitleSpace; // 图片和文字之间的间距
#endif
@end
NS_ASSUME_NONNULL_END
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!