三个按钮  一个进度条

贴图(软件中部分图片,来自网络,如果侵犯了您的权益,请联系我,会立刻撤下)

核心代码

//
// 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(, , , )];
[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(, , , )];
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(, ,, )];
[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(, , , )];
[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];
//初始化并插入B
self.buttonStop = [[UIButton alloc]initWithFrame:CGRectMake(, , , )];
[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: 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 = ;
}
- (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

知识点总结:

  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

  //音乐播放器时间(当前播放的时间,时间总长)

点我下载源码    因为文件大小问题,文件中的音频被我删掉了,另附文件布局,我想大家可以看懂!

iso 开发学习--简易音乐播放器(基于iPhone4s屏幕尺寸)的更多相关文章

  1. ios开发学习- 简易音乐播放器2 (基于iPhone4s屏幕尺寸)-- 歌词解析--plist文件应用--imageNamed图片加载耗内存

    声明:(部分图片来自网络,如果侵犯了您的权益请联系我,会尽快删除!) 又是音乐播放器,不过这次和上次不一样了,准确说这次更像播放器了,初学者不建议看这个,可以先看前面一个音乐播放器(1),当然 我没加 ...

  2. 简易音乐播放器主界面设计 - .NET CORE(C#) WPF开发

    微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. 简易音乐播放器主界面设计 - .NET CORE(C#) WPF开发 阅读导航 本文背景 代码 ...

  3. 微信小程序(有始有终,全部代码)开发---跑步App+音乐播放器 Bug修复

    开篇语 昨晚发了一篇: <简年15: 微信小程序(有始有终,全部代码)开发---跑步App+音乐播放器 > 然后上午起来吃完午饭之后,我就准备继续开工的,但是突然的,想要看B站.然后在一股 ...

  4. 记一次酷狗音乐API的获取,感兴趣的可以自己封装开发自己的音乐播放器

    1.本教程仅供个人学习用,禁止用于任何的商业和非法用途,如涉及版权问题请联系笔者删除. 2.随笔系作者原创文档,转载请注明文档来源:http://www.cnblogs.com/apresunday/ ...

  5. ios开发:一个音乐播放器的设计与实现

    github地址:https://github.com/wzpziyi1/MusicPlauer 这个Demo,关于歌曲播放的主要功能都实现了的.下一曲.上一曲,暂停,根据歌曲的播放进度动态滚动歌词, ...

  6. Android音乐播放器的设计与实现

    目录 应用开发技术及开发平台介绍 应用需求分析 应用功能设计及其描述 应用UI展示 一.应用开发技术及平台介绍 ①开发技术: 本系统是采用面向对象的软件开发方法,基于Android studio开发平 ...

  7. 使用react native制作的一款网络音乐播放器

    使用react native制作的一款网络音乐播放器 基于第三方库 react-native-video设计"react-native-video": "^1.0.0&q ...

  8. 基于Basys2开发板的简易电子琴和音乐播放器设计

    背景:华中科技大学 电测综合实验 主要功能:Basys2开发板外接一个扬声器(或无源蜂鸣器也可)实现电子琴和音乐播放器的功能.其中由于开发板上只有4个按键,所以电子琴功能只做了4个音调,分别对应于4个 ...

  9. python 开发在线音乐播放器-简易版

    在线音乐播放器,使用python的Tkinter库做了一个界面,感觉这个库使用起来还是挺方便的,音乐的数据来自网易云音乐的一个接口,通过urllib.urlopen模块打开网址,使用Json模块进行数 ...

随机推荐

  1. 用bootstrap结合php搭建MIS系统框架【转载】

    bootstrap目前比较火,抽空简单了解一下 官方介绍:Bootstrap, from Twitter基于HTML,CSS,JAVASCRIPT的简洁灵活的流行前端框架及交互组件集 http://t ...

  2. 数学之路-分布式计算-disco(4)

    第一个參数iter是一个迭代器,涉及被map函数产生的键和值.它们是reduce实例. 在本例中.单词随机被托付给不同的reduce实例.然后,要单词同样,处理它的reduce也同样.可确保终于合计是 ...

  3. zedboard--交叉编译Opencv库的生成 分类: shell ubuntu fool_tree的笔记本 ZedBoard OpenCV 2014-11-08 18:57 171人阅读 评论(0) 收藏

    Opencv的移植,xzyfeixiang和rainysky的博客. 第一步肯定是下载opencv的源码包 第二步已经做好的交叉编译环境. 第三步下载安装cmake   apt-get install ...

  4. Spring Data MongoDB example with Spring MVC 3.2

    Spring Data MongoDB example with Spring MVC 3.2 Here is another example web application built with S ...

  5. Annotation Type @bean,@Import,@configuration使用--官方文档

    @Target(value={METHOD,ANNOTATION_TYPE}) @Retention(value=RUNTIME) @Documented public @interface Bean ...

  6. 通过SSHFS在RHEL中安全的挂载远程Linux/UNIX目录或文件系统--转载

    You can easily mount remote server file system or your own home directory using special sshfs and fu ...

  7. Python开发【第二十二篇】:Web框架之Django【进阶】

    Python开发[第二十二篇]:Web框架之Django[进阶]   猛击这里:http://www.cnblogs.com/wupeiqi/articles/5246483.html 博客园 首页 ...

  8. MD5 SHA-1 示例

    测试代码 public class SignatureUtils {     public static void main(String[] args) throws Exception {     ...

  9. "_Default"同时存在于两个dll文件中的解决办法

    编译器错误消息:CS0433: 类型“_Default”同时存在于“c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Fi ...

  10. svn设置

    svnserver -d -r /home/peter.mycode 如果想要开机自启动,将上述启动命令添加到:/etc/rc.local中.