iso 开发学习--简易音乐播放器(基于iPhone4s屏幕尺寸)
三个按钮 一个进度条
贴图(软件中部分图片,来自网络,如果侵犯了您的权益,请联系我,会立刻撤下)
核心代码
// // ViewController.m // 08-10-MusicPlayer // // Created by Ibokan on 15/8/10. // Copyright (c) 2015年 Crazy凡. All rights reserved. // #import "ViewController.h" #import <AVFoundation/AVFoundation.h>@interface ViewController () @property (nonatomic,strong)UIImageView * imageview; @property (nonatomic,strong)UISlider *slider; @property (nonatomic,strong)UIButton *buttonPlay; @property (nonatomic,strong)UIButton *buttonPause; @property (nonatomic,strong)UIButton *buttonStop; @property (nonatomic,strong)AVAudioPlayer *player; @property (nonatomic,strong)NSTimer *timer;@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.self.imageview = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];[self.imageview setImage:[UIImage imageNamed:@"bgimg.jpg"]];self.imageview.backgroundColor = [UIColor groupTableViewBackgroundColor];self.imageview.contentMode = UIViewContentModeScaleAspectFill;[self.view addSubview:self.imageview];//初始化背景 self.slider = [[UISlider alloc]initWithFrame:CGRectMake(40, 350, 240, 10)];self.slider.value = 0.0;[self.view addSubview:self.slider];[self.slider addTarget:self action:@selector(updateValue) forControlEvents:UIControlEventValueChanged];self.buttonPlay = [[UIButton alloc]initWithFrame:CGRectMake(30, 400,60, 60)];[self.view addSubview:self.buttonPlay];[self.buttonPlay setBackgroundImage:[UIImage imageNamed:@"starten.png"] forState:UIControlStateNormal];[self.buttonPlay setBackgroundImage:[UIImage imageNamed:@"startun.png"] forState:UIControlStateDisabled];//初始化并插入A self.buttonPause = [[UIButton alloc]initWithFrame:CGRectMake(130, 400, 60, 60)];[self.view addSubview:self.buttonPause];self.buttonPause.enabled = false;[self.buttonPause setBackgroundImage:[UIImage imageNamed:@"stopen.png"] forState:UIControlStateNormal];[self.buttonPause setBackgroundImage:[UIImage imageNamed:@"stopun.png"] forState:UIControlStateDisabled];//初始化并插入Bself.buttonStop = [[UIButton alloc]initWithFrame:CGRectMake(230, 400, 60, 60)];[self.view addSubview:self.buttonStop];self.buttonStop.enabled = false;[self.buttonStop setBackgroundImage:[UIImage imageNamed:@"pauseen.png"] forState:UIControlStateNormal];[self.buttonStop setBackgroundImage:[UIImage imageNamed:@"pauseun.png"] forState:UIControlStateDisabled];//初始化并插入C NSBundle *bundle = [NSBundle mainBundle];NSString *path = [bundle pathForResource:@"tianyaguoke" ofType:@"mp3"];//NSLog(@"%@",path);NSURL * url = [NSURL fileURLWithPath: path];self.player= [[AVAudioPlayer alloc]initWithContentsOfURL:url error:nil];[self.buttonPlay addTarget:self action:@selector(tapA) forControlEvents:UIControlEventTouchUpInside];[self.buttonPause addTarget:self action:@selector(tabB) forControlEvents:UIControlEventTouchUpInside];[self.buttonStop addTarget:self action:@selector(tabC) forControlEvents:UIControlEventTouchUpInside];} - (void)tapA {self.buttonPlay.enabled = false;self.buttonPause.enabled = true;self.buttonStop.enabled = true;[self.player play];self.timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timeadd) userInfo:nil repeats:YES]; } - (void)tabB {self.buttonPlay.enabled = true;self.buttonPause.enabled = false;self.buttonStop.enabled = false;[self.player stop];self.player.currentTime = 0 ; } - (void)tabC {self.buttonPlay.enabled = true;self.buttonPause.enabled = true;self.buttonStop.enabled = false;[self.player pause]; } - (void)timeadd { // double alltime = self.player.duration; // double now = self.player.currentTime;self.slider.value = self.player.currentTime/self.player.duration; } - (void)updateValue {self.player.currentTime = self.player.duration * self.slider.value; } - (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated. }@end
View Code
知识点总结:
1、[self.buttonPlay setBackgroundImage:[UIImage imageNamed:@"starten.png"] forState:UIControlStateNormal];
//为按钮添加图片
2、[self.slider addTarget:self action:@selector(updateValue) forControlEvents:UIControlEventValueChanged];
//slider(进度条)添加回调方法
3、self.timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timeadd) userInfo:nil repeats:YES];
//NStimer的使用
4、NSBundle *bundle = [NSBundle mainBundle];
NSString *path = [bundle pathForResource:@"tianyaguoke" ofType:@"mp3"];
NSURL * url = [NSURL fileURLWithPath: path];
self.player= [[AVAudioPlayer alloc]initWithContentsOfURL:url error:nil];
//NSBundle、NSURL 为AVAudio 添加路径
5、self.imageview = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
[self.imageview setImage:[UIImage imageNamed:@"bgimg.jpg"]];
self.imageview.backgroundColor = [UIColor groupTableViewBackgroundColor];
//UIImageView 初始化
6、self.imageview.contentMode = UIViewContentModeScaleAspectFill;
self.imageview.contentMode = UIViewContentModeScaleAspectFit;
self.imageview.contentMode = UIViewContentModeScaleToFill;
//UIImageViewv 图片显示方式设定:比例充满 比例缩放 拉伸充满
7、self.player.currentTime;self.player.duration
//音乐播放器时间(当前播放的时间,时间总长)
点我下载源码 因为文件大小问题,文件中的音频被我删掉了,另附文件布局,我想大家可以看懂!
转载于:https://www.cnblogs.com/kongkaikai/p/4743194.html
iso 开发学习--简易音乐播放器(基于iPhone4s屏幕尺寸)相关推荐
- 基于Android系统开发的简易音乐播放器
大概做了一周左右,一个简易版本的音乐播放器.主要有三个界面,先上图: 一个主界面:主要负责1加载外部存储的音乐文件信息到应用内置数据库中2转到音乐文件列表界面 一个音乐文件列表界面:主要1负责展示音乐 ...
- Android开发之简易音乐播放器(一)
这里介绍一个简易的音乐播放器, 效果图如下: 但是,由于这是一个简易版的音乐播放器,所播放的音乐只有一首,且被写死, 但,操作却十分简单,方便理解! 这是代码的主要设计: 音乐主要存放在这一个文件中: ...
- 自学QT之简易音乐播放器基于QT5.5
自己写的音乐播放器,还存在很多bug,只是作为一种尝试而已.交流学习群:271251545 播放器实现的功能:添加歌曲.上一首.暂停.下一首.切换歌曲.托盘.任务栏对歌曲进行操作 界面偷懒,直接使用的 ...
- 基于JAVAvue开发一个简单音乐播放器计算机毕业设计源码+数据库+lw文档+系统+部署
基于JAVAvue开发一个简单音乐播放器计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVAvue开发一个简单音乐播放器计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目 ...
- 基于MSP430G2553官方开发板的音乐播放器
基于MSP430G2553官方开发板的音乐播放器 实现目标 硬件资源 芯片资源使用情况 外接硬件 程序实现 开发环境配置 各部分硬件驱动 主循环功能实现 实现目标 实现以蜂鸣器为播放设备,能够对简谱乐 ...
- 搬砖之路----MusicPlayer 一个基于Vlc(2.0+)开发的android音乐播放器--浅析在android开发过程中播放器选择之路!
前言 MusicPlayer 是一款基于vlc播放器开发的一个音乐播放器,你也可以理解为在此核心上的搬砖之路,核心的内容并不是我写的,因此在正式写blog之前,感谢那些vlc核心的开发人员让我用到这么 ...
- 基于Arduino Uno开发板制作音乐播放器
基于Arduino Uno开发板制作音乐播放器 本文将基于Arduino开发板实现一个音乐播放器. 利用Arduino Uno读取sd卡模块中内存卡的音乐,传输信号到扬声器进行播放. 一.项目软硬件简 ...
- 单片机音乐播放器课程设计C语言,单片机课程设计简易音乐播放器
单片机课程设计简易音乐播放器 论文题目:简易音乐播放器所属系部:电子工程系 指导教师: 学生姓名: 学 号: 专 业: 电子信息工程技术 题目: 简易音乐播放器任务与要求:本设计以 MCS-51 系列 ...
- java计算机毕业设计vue开发一个简单音乐播放器源码+mysql数据库+系统+lw文档+部署
java计算机毕业设计vue开发一个简单音乐播放器源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计vue开发一个简单音乐播放器源码+mysql数据库+系统+lw文档+部署 本源码技 ...
- java计算机毕业设计vue开发一个简单音乐播放器MyBatis+系统+LW文档+源码+调试部署
java计算机毕业设计vue开发一个简单音乐播放器MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计vue开发一个简单音乐播放器MyBatis+系统+LW文档+源码+调试部署 本源 ...
最新文章
- 内存分配成功,但并未初始化
- PAT甲级1141 PAT Ranking of Institutions :[C++题解]结构体、排序、哈希表、结构体构造函数、结构体内写函数、排名
- python学习笔记之迭代器
- element-ui中table表头错位问题
- 7月共处理钓鱼网站1921个:非CN域名达1911 个
- IE、firefox下怎样获得自定义属性的值
- java实现单向循环链表_java实现的带头单向循环链表
- 判断素数的java程序_Java代码实例 判断这个数是否是素数
- 中国百家姓氏图腾大全
- 美国计算机科学教师协会,2020-2021 ACSL AMERICAN COMPUTER SCIENCE LEAGUE 美国计算机科学联赛...
- PBR 六 材质参数
- Django模型层(2)
- 【3】CH347应用--USB TO JTAG进行FPGA调试下载
- QT图形显示和处理7
- java jar包转成exe运行
- aiml php,chatbot:基于 AIML 的 PHP 聊天机器人
- pythonturtle画图库使用技巧_Python画图库turtle使用方法简介
- 使用java实现 Excel在线预览
- FT-TRN-BEG-C安装过程中出现move data process: -119 DAO350.dll错误
- 04.reactive