095实现一个播放器的活动指示器

效果如下:

ViewController.h

1 #import <UIKit/UIKit.h>
2
3 @interface ViewController : UIViewController
4 @property (strong, nonatomic) UIActivityIndicatorView *activityIndicatorView;
5
6 @end

ViewController.m

 1 #import "ViewController.h"
 2
 3 @interface ViewController ()
 4 - (void)layoutUI;
 5 - (void)playDidPush:(UIBarButtonItem *)sender;
 6 - (void)pauseDidPush:(UIBarButtonItem *)sender;
 7 - (void)changeDidPush:(UIBarButtonItem *)sender;
 8 @end
 9
10 @implementation ViewController
11
12 - (void)viewDidLoad {
13     [super viewDidLoad];
14
15     [self layoutUI];
16 }
17
18 - (void)didReceiveMemoryWarning {
19     [super didReceiveMemoryWarning];
20     // Dispose of any resources that can be recreated.
21 }
22
23 - (void)viewWillAppear:(BOOL)animated {
24     [super viewWillAppear:animated];
25     [self.navigationController setNavigationBarHidden:NO animated:animated];
26     [self.navigationController setToolbarHidden:NO animated:animated];
27 }
28
29 - (void)layoutUI {
30     self.view.backgroundColor = [UIColor lightGrayColor];
31     self.navigationItem.title = @"实现一个播放器的活动指示器";
32
33     UIBarButtonItem *barBtnPlay = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay target:self action:@selector(playDidPush:)];
34     UIBarButtonItem *barBtnPause = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPause target:self action:@selector(pauseDidPush:)];
35     UIBarButtonItem *barBtnFastForward = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFastForward target:self action:@selector(changeDidPush:)];
36     [self setToolbarItems:@[barBtnPlay, barBtnPause, barBtnFastForward]];
37
38     //设置活动指示器视图
39     _activityIndicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; //设置活动指示器视图样式;默认值是UIActivityIndicatorViewStyleWhite,设置的枚举值决定了活动指示器loading图片的宽高大小
40     _activityIndicatorView.layer.borderColor = [UIColor redColor].CGColor;
41     _activityIndicatorView.layer.borderWidth = 2.0;
42     [self.view addSubview:_activityIndicatorView];
43
44     /* 官方定义内容,仅供查看
45      typedef NS_ENUM(NSInteger, UIActivityIndicatorViewStyle) {
46         UIActivityIndicatorViewStyleWhiteLarge,
47         UIActivityIndicatorViewStyleWhite,
48         UIActivityIndicatorViewStyleGray,
49     };
50      */
51 }
52
53 - (void)playDidPush:(UIBarButtonItem *)sender {
54     if (_activityIndicatorView.activityIndicatorViewStyle == UIActivityIndicatorViewStyleWhiteLarge) {
55         _activityIndicatorView.frame = CGRectMake(0, 0, 100, 100);
56     } else {
57         _activityIndicatorView.frame = CGRectMake(0, 0, 50, 50);
58     }
59     _activityIndicatorView.center = self.view.center;
60     [_activityIndicatorView startAnimating];
61 }
62
63 - (void)pauseDidPush:(UIBarButtonItem *)sender {
64     _activityIndicatorView.hidesWhenStopped = NO; //设置活动指示器视图是否停止后隐藏;默认值是YES
65     [_activityIndicatorView stopAnimating];
66 }
67
68 - (void)changeDidPush:(UIBarButtonItem *)sender {
69     [self pauseDidPush:sender];
70     if (++_activityIndicatorView.activityIndicatorViewStyle > UIActivityIndicatorViewStyleGray) {
71         _activityIndicatorView.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge;
72     }
73     [self playDidPush:sender];
74 }
75
76 @end

AppDelegate.h

1 #import <UIKit/UIKit.h>
2
3 @interface AppDelegate : UIResponder <UIApplicationDelegate>
4 @property (strong, nonatomic) UIWindow *window;
5 @property (strong, nonatomic) UINavigationController *navigationController;
6
7 @end

AppDelegate.m

 1 #import "AppDelegate.h"
 2 #import "ViewController.h"
 3
 4 @interface AppDelegate ()
 5 @end
 6
 7 @implementation AppDelegate
 8
 9 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
10     _window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
11     ViewController *viewController = [[ViewController alloc] init];
12     _navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
13     _window.rootViewController = _navigationController;
14     //[_window addSubview:_navigationController.view]; //当_window.rootViewController关联时,这一句可有可无
15     [_window makeKeyAndVisible];
16     return YES;
17 }
18
19 - (void)applicationWillResignActive:(UIApplication *)application {
20 }
21
22 - (void)applicationDidEnterBackground:(UIApplication *)application {
23 }
24
25 - (void)applicationWillEnterForeground:(UIApplication *)application {
26 }
27
28 - (void)applicationDidBecomeActive:(UIApplication *)application {
29 }
30
31 - (void)applicationWillTerminate:(UIApplication *)application {
32 }
33
34 @end
时间: 2024-12-19 22:11:40

095实现一个播放器的活动指示器的相关文章

使用纯css做一个播放器

首先,贴出成品图,如下: 可以发现播放器的基本形状有了,但是需要精确到每一个方向,不能溢出,就得以如下的方式写,贴出静态代码: html如下: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href=&

如何用C#快速制作一个播放器

如何用VS快速制作一个播放器 本程序环境: 系统windows7 工具vs2012 语言c# 具体步骤如下: 1.  添加windowsmedia palyer组件 打开视图->工具箱 右键单击常规->选择项->COM组件->Windows Media Palyer 如图所示 新建winForm项目,打开form就可以看见工具箱常规下面有Windows Media Palyer组件了,如下图所示: 2.  在Form中添加WindowsMedia Palyer.OpenFileDi

使用VideoView自定义一个播放器控件

介绍 最近要使用播放器做一个简单的视频播放功能,开始学习VideoView,在横竖屏切换的时候碰到了点麻烦,不过在查阅资料后总算是解决了.在写VideoView播放视频时候定义控制的代码全写在Actvity里了,写完一看我靠代码好乱,于是就写了个自定义的播放器控件,支持指定大小,可以横竖屏切换,手动左右滑动快进快退.好了,下面开始. 效果图 效果图有点卡,我也不知道为啥..... VideoView介绍 这个是我们实现视频播放最主要的控件,详细的介绍大家百度就去看,这里介绍几个常用的方法. 用于

使用Mediaplay类写一个播放器

我们知道android本身播放视频的的能力是有限的..先来一个Demo 另附我的一个还未成熟的播放器,下载地址:http://www.eoemarket.com/soft/370334.html,正在完善中 package cn.marsXTU.mediaplayer; import android.media.AudioManager; import android.media.MediaPlayer; import android.media.MediaPlayer.OnCompletion

利用vitamio Mediaplayer 自定义了一个播放器

本人android初学者,学习了Vitamio Mediaplayer 的Demo,参考了农民伯伯大牛的文章,具体链接如下: http://www.cnblogs.com/over140/archive/2012/05/22/2473019.html 实现了简单的功能:双击屏幕切换,点击显示进度条,暂停和播放.自己记录下,许多地方还有待优化的部分,请大家指点哈. 手机拍摄的真机效果不好请大家原谅 显示效果: 首先是XML布局: 这里增加了进度,播放,暂停等组件 <?xml version="

如何写一个正经的Android音乐播放器 一

以前写过很多次音乐播放器,但是总有一些问题出现,例如: 1,音乐长时间播放问题(即便是放在service中去播放,依然会被杀死): 2,音乐的播放进度如何掌握?(如何利用mediaplayer.getCurrentPosition()来有效的通知界面变更进度?): 3,在我以往的经验中,音乐播放完毕下一曲时候,经常出现当前音乐播放还差几秒钟的时候就下一曲了的情况. 从网上找到教程中,通常都是一个播放器的demo,简单的直接把MediaPlayer放在了一个Activity中去操作,稍有良心的教程

4个小时实现一个HTML5音乐播放器

技术点:ES6+Webpack+HTML5 Audio+Sass 这里,我们将一步步的学到如何从零去实现一个H5音乐播放器. 首先来看一下最终的实现效果:Demo链接 接下来就步入正题: 要做一个音乐播放器就要非常了解在Web中音频播放的方式,通常都采用HTML5的audio标签关于audio标签,它有大量的属性.方法和事件,在这里我就做一个大致的介绍. 属性:src:必需,音频来源:controls:常见,设置后显示浏览器默认的audio控制面板,不设置默认隐藏audio标签:autoplay

每天看一片代码系列(三):codepen上一个音乐播放器的实现

今天我们看的是一个使用纯HTML+CSS+JS实现音乐播放器的例子,效果还是很赞的: codePen地址 HTML部分 首先我们要思考一下,一个播放器主要包含哪些元素.首先要有播放的进度信息,还有播放/暂停或者上一首下一首等必要的按钮,同时还要显示一些当前播放的音乐名称等信息.播放多首歌曲时,要显示播放列表...因此,从语义上可以构造出基本的HTML结构: // 背景区块,用于显示当前播放音乐的图片 <div class='background' id='background'></di

Android MVC实现一个音乐播放器

MVCPlayer 我尝试在android上使用MVC模式来开发一个音乐播放器.GitHub地址:https://github.com/skyhacker2/MVCPlayer 什么是MVC 来自维基百科 控制器 Controller - 负责转发请求,对请求进行处理. 视图 View - 界面设计人员进行图形界面设计. 模型 Model - 程序员编写程序应有的功能(实现算法等等).数据库专家进行数据管理和数据库设计(可以实现具体的功能). 那么在android上,Activity就是Cont