三个按钮  一个进度条

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

核心代码

//
//  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屏幕尺寸)相关推荐

  1. 基于Android系统开发的简易音乐播放器

    大概做了一周左右,一个简易版本的音乐播放器.主要有三个界面,先上图: 一个主界面:主要负责1加载外部存储的音乐文件信息到应用内置数据库中2转到音乐文件列表界面 一个音乐文件列表界面:主要1负责展示音乐 ...

  2. Android开发之简易音乐播放器(一)

    这里介绍一个简易的音乐播放器, 效果图如下: 但是,由于这是一个简易版的音乐播放器,所播放的音乐只有一首,且被写死, 但,操作却十分简单,方便理解! 这是代码的主要设计: 音乐主要存放在这一个文件中: ...

  3. 自学QT之简易音乐播放器基于QT5.5

    自己写的音乐播放器,还存在很多bug,只是作为一种尝试而已.交流学习群:271251545 播放器实现的功能:添加歌曲.上一首.暂停.下一首.切换歌曲.托盘.任务栏对歌曲进行操作 界面偷懒,直接使用的 ...

  4. 基于JAVAvue开发一个简单音乐播放器计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVAvue开发一个简单音乐播放器计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVAvue开发一个简单音乐播放器计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目 ...

  5. 基于MSP430G2553官方开发板的音乐播放器

    基于MSP430G2553官方开发板的音乐播放器 实现目标 硬件资源 芯片资源使用情况 外接硬件 程序实现 开发环境配置 各部分硬件驱动 主循环功能实现 实现目标 实现以蜂鸣器为播放设备,能够对简谱乐 ...

  6. 搬砖之路----MusicPlayer 一个基于Vlc(2.0+)开发的android音乐播放器--浅析在android开发过程中播放器选择之路!

    前言 MusicPlayer 是一款基于vlc播放器开发的一个音乐播放器,你也可以理解为在此核心上的搬砖之路,核心的内容并不是我写的,因此在正式写blog之前,感谢那些vlc核心的开发人员让我用到这么 ...

  7. 基于Arduino Uno开发板制作音乐播放器

    基于Arduino Uno开发板制作音乐播放器 本文将基于Arduino开发板实现一个音乐播放器. 利用Arduino Uno读取sd卡模块中内存卡的音乐,传输信号到扬声器进行播放. 一.项目软硬件简 ...

  8. 单片机音乐播放器课程设计C语言,单片机课程设计简易音乐播放器

    单片机课程设计简易音乐播放器 论文题目:简易音乐播放器所属系部:电子工程系 指导教师: 学生姓名: 学 号: 专 业: 电子信息工程技术 题目: 简易音乐播放器任务与要求:本设计以 MCS-51 系列 ...

  9. java计算机毕业设计vue开发一个简单音乐播放器源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计vue开发一个简单音乐播放器源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计vue开发一个简单音乐播放器源码+mysql数据库+系统+lw文档+部署 本源码技 ...

  10. java计算机毕业设计vue开发一个简单音乐播放器MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计vue开发一个简单音乐播放器MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计vue开发一个简单音乐播放器MyBatis+系统+LW文档+源码+调试部署 本源 ...

最新文章

  1. 内存分配成功,但并未初始化
  2. PAT甲级1141 PAT Ranking of Institutions :[C++题解]结构体、排序、哈希表、结构体构造函数、结构体内写函数、排名
  3. python学习笔记之迭代器
  4. element-ui中table表头错位问题
  5. 7月共处理钓鱼网站1921个:非CN域名达1911 个
  6. IE、firefox下怎样获得自定义属性的值
  7. java实现单向循环链表_java实现的带头单向循环链表
  8. 判断素数的java程序_Java代码实例 判断这个数是否是素数
  9. 中国百家姓氏图腾大全
  10. 美国计算机科学教师协会,2020-2021 ACSL AMERICAN COMPUTER SCIENCE LEAGUE 美国计算机科学联赛...
  11. PBR 六 材质参数
  12. Django模型层(2)
  13. 【3】CH347应用--USB TO JTAG进行FPGA调试下载
  14. QT图形显示和处理7
  15. java jar包转成exe运行
  16. aiml php,chatbot:基于 AIML 的 PHP 聊天机器人
  17. pythonturtle画图库使用技巧_Python画图库turtle使用方法简介
  18. 使用java实现 Excel在线预览
  19. FT-TRN-BEG-C安装过程中出现move data process: -119 DAO350.dll错误
  20. 04.reactive

热门文章

  1. 计算机专业实践报告立题依据,开题报告立题依据 .doc
  2. C# 插入或删除word分页符
  3. js导出WORD设置分页
  4. volatile(防止编译器对代码进行优化,常用于多线程环境中)
  5. 117道有关大数据面试题解析,希望对你有所帮助
  6. ubuntu安装拼音
  7. @TableName
  8. 管理活动目录域服务实训_工商管理学院党总支举行校园公益服务活动
  9. 什么是EV SSL证书
  10. Surface Book重装系统步骤