三个按钮  一个进度条

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

核心代码

//
// 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. [Redux] Supplying the Initial State

    We will learn how to start a Redux app with a previously persisted state, and how it merges with the ...

  2. [PWA] Add web app to your Home Screen

    Clone: Link Modify the structure: Move css, js, image, index.html to an 'app' folder. manifest.json: ...

  3. 教你搞定Android自定义View

    Android App开发过程中,很多时候会遇到系统框架中提供的控件无法满足我们产品的设计需求,那么这时候我们可以选择先Google下有没有比较成熟的开源项目可以让我们用,当然现在Github上面的项 ...

  4. Android 仿网易新闻v3.5:上下滑动的引导页

    版权声明:本文为博主原创文章,未经博主允许不得转载. 在很多天气或者新闻的应用中,我们都能看到一些字幕滚动的效果,最简单的实现为跑马灯效果,用系统提供的属性即可实现. 复杂一些的就需要自己去用自定义控 ...

  5. 关于PHP定时执行任务的实现(转)

    PHP在这方面应该说是比较弱,如果只用php去实现可以如下: <?php ignore_user_abort();//关闭浏览器后,继续执行php代码 set_time_limit(0);//程 ...

  6. [转] 整理了一份React-Native学习指南

    自己在学习React-Native过程中整理的一份学习指南,包含 教程.开源app和资源网站等,还在不断更新中.欢迎pull requests! React-Native学习指南 本指南汇集React ...

  7. Android(java)学习笔记201:网络图片浏览器的实现(ANR)

    1.我们在Android下,实现使用http协议进行网络通信,请求网络数据.这里是获取网络上的图片信息,让它可以显示在手机上: 但是我们这个手机连接网络是很费时间,如果我们在主线程(UI线程)中写这个 ...

  8. Codeforces 231E - Cactus

    231E - Cactus 给一个10^5个点的无向图,每个点最多属于一个环,规定两点之间的简单路:从起点到终点,经过的边不重复 给10^5个询问,每个询问两个点,问这两个点之间有多少条简单路. 挺综 ...

  9. 在treeview外加一个滚动条的实现

    前台代码: <div style="overflow:auto;width:190px;height:280px;border:1px solid #336699;padding-le ...

  10. Alljoyn 概述(3)

    开发工具 • scons:一个 Python写的自动化构建工具,是对 gnu make 改进的替代工具 • D-Feet:一个D-Bus调试工具 • C++ Code Generator Tool ( ...