现在的各种App大行其道,其实常用也就是围绕着吃喝玩乐基本的需求,视频,音乐在智能手机出现之前更是必不可少的功能,每个手机都会有一个自带的音乐播放器,当然公众也有自己的需求所以也就造就了各种音乐播放软件,自己下午闲来无事简单的写了一个随机播放音乐的Demo,iOS中有三种播放音频的方式AVAudioPlayer、音频服务、音频队列。另外两种暂时没有用到,就简单的练手了一下AVAudioPlayer,还是开始正题吧;

1.新建项目或者在原有项目重新弄一个页面,先看页面:

2.导入几首自己喜欢的歌曲:

3.导入AVFoundation/AVFoundation.h,对四个按钮进行事件操作,一个AVAudioPlayer只能对应一个URL,因此播放其他歌曲的时候需要情况一下;

定义两个成员变量,并且初始化成员变量:

@interface MusicViewController ()
@property (nonatomic,strong)AVAudioPlayer *player;
@property (nonatomic,strong)NSArray *musicArr;
@end

 viewDidLoad实例化数组:

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.musicArr=@[@"潮湿的心.mp3",@"爱拼才会赢.mp3",@"给我一个理由忘记.mp3"];
[self prepareMusic:self.musicArr[1]];
}
- (void)prepareMusic:(NSString *)path{
//1.音频文件的url路径
NSURL *url=[[NSBundle mainBundle]URLForResource:path withExtension:Nil]; //2.实例化播放器
_player=[[AVAudioPlayer alloc]initWithContentsOfURL:url error:Nil]; //3.缓冲
[_player prepareToPlay];
}

4.四个对应事件的代码:

随机:

- (IBAction)random:(id)sender {
[self prepareMusic:self.musicArr[arc4random()%3]];
[_player play];
}

播放:

- (IBAction)play:(id)sender {
//播放
[_player play];
}

暂停:

- (IBAction)pause:(id)sender {
//暂停
[_player pause];
}

停止:

- (IBAction)stop:(id)sender {
//停止
[_player stop];
}

5.设置循环次数,开始播放时间,设置音量

  //设置音量
[_player setVolume:0.6];
//设置当前播放事件
[_player setCurrentTime:60];
//设置循环次数
[_player setNumberOfLoops:2];

MusicViewController.m中的代码:

//
// MusicViewController.m
// MyPicture
//
// Created by keso on 15/1/17.
// Copyright (c) 2015年 keso. All rights reserved.
// #import "MusicViewController.h"
#import <AVFoundation/AVFoundation.h> @interface MusicViewController ()
@property (nonatomic,strong)AVAudioPlayer *player;
@property (nonatomic,strong)NSArray *musicArr;
@end @implementation MusicViewController - (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.musicArr=@[@"潮湿的心.mp3",@"爱拼才会赢.mp3",@"给我一个理由忘记.mp3"];
[self prepareMusic:self.musicArr[1]];
}
- (void)prepareMusic:(NSString *)path{
//1.音频文件的url路径
NSURL *url=[[NSBundle mainBundle]URLForResource:path withExtension:Nil]; //2.实例化播放器
_player=[[AVAudioPlayer alloc]initWithContentsOfURL:url error:Nil]; //3.缓冲
[_player prepareToPlay];
//设置音量
[_player setVolume:0.6];
//设置当前播放事件
[_player setCurrentTime:60];
//设置循环次数
[_player setNumberOfLoops:2];
}
- (IBAction)random:(id)sender {
[self prepareMusic:self.musicArr[arc4random()%3]];
[_player play];
}
- (IBAction)play:(id)sender {
//播放
[_player play];
} - (IBAction)stop:(id)sender {
//停止
[_player stop];
}
- (IBAction)pause:(id)sender {
//暂停
[_player pause];
} - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} /*
#pragma mark - Navigation // In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/ @end

其实需要设置还有很多,播放出现异常,或者被更高级别的系统任务打断,可以通过设置相应的委托处理对应的的情形,Demo很小,iOS很多东西都是这样,概念很多,调用的时候根本都不需要写几行代码,iOS的模拟器播放的效果还是非常出色的~

由于是播放音乐,无法模拟效果,大概试验一下,应该没有什么问题~

iOS开发-音乐播放的更多相关文章

  1. iOS开发-音乐播放(AVAudioPlayer)

    现在的手机的基本上没有人不停音乐的,我们无法想象在一个没有声音的世界里我们会过的怎么样,国内现在的主流的主流网易云音乐,QQ音乐,酷狗,虾米,天天基本上霸占了所有的用户群体,不过并没有妨碍大家对音乐的 ...

  2. iOS开发—音乐的播放

    iOS开发—音乐的播放 一.简单说明 音乐播放用到一个叫做AVAudioPlayer的类,这个类可以用于播放手机本地的音乐文件. 注意: (1)该类(AVAudioPlayer)只能用于播放本地音频. ...

  3. Android 4.3实现类似iOS在音乐播放过程中如果有来电则音乐声音渐小铃声渐大的效果

    目前Android的实现是:有来电时,音乐声音直接停止,铃声直接直接使用设置的铃声音量进行铃声播放. Android 4.3实现类似iOS在音乐播放过程中如果有来电则音乐声音渐小铃声渐大的效果. 如果 ...

  4. iOS开发--音乐文件播放工具类的封装(包含了音效的封装)

    一.头文件 #import <Foundation/Foundation.h> #import <AVFoundation/AVFoundation.h> @interface ...

  5. iOS开发----音频播放、录音、视频播放、拍照、视频录制

    随着移动互联网的发展,如今的手机早已不是打电话.发短信那么简单了,播放音乐.视频.录音.拍照等都是很常用的功能.在iOS中对于多媒体的支持是非常强大的,无论是音视频播放.录制,还是对麦克风.摄像头的操 ...

  6. iOS在线音乐播放SZKAVPlayer(基于AVPlayer的封装)

    由于最近闲着没事,想找有关在线音乐播放的demo学习一下,在gitHub跟code4APP上面查找了很多帖子,结果很多在线音乐都是基于AudioStream实现的,我感觉用起来不太方便.后来突然发现, ...

  7. ios 视频音乐播放

    IOS开发小技巧(视频和音乐播放).IOS视频播放代码(添加MediaPlayer.framework和#import) -(void)playMovie:(NSString *)fileName{ ...

  8. iOS 简单音乐播放器 界面搭建

    如图搭建一个音乐播放器界面,具备以下几个简单功能: 1,界面协调,整洁. 2,点击播放,控制进度条. 3.三收藏歌曲,点击收藏,心形收藏标志颜色加深. 4,左右按钮,切换歌曲图片和标题. 5,点击中间 ...

  9. iOS 调用音乐播放以及视频播放器

    音乐播放 NSString *path = [[NSBundle mainBundle] pathForResource:@"预谋" ofType:@"mp3" ...

随机推荐

  1. 绝对良心的 Java 中发邮件功能

    开篇语,是不是感觉这个功能都老掉牙了,网上一大推的文章,随便找个代码就是了,为什么我还要选择专门写一篇呢,因为我遇到了不一样的坑…… 首先,不免俗套的把代码都贴上来,拿去执行吧,记住换上你的账号和授权 ...

  2. NOIP2018游记(更新完毕)

    10.13 初赛 Day -1 考前 这一次的考场从暗♂德华兴改到了长沙市一中,一进去:我一看,考场在哪???这一中比长郡大了好多,而且连指示牌都没有,这时碰见了谢总,谢总告诉我们在第二教学楼.路上还 ...

  3. 防止sql注入的几种方法

    一.SQL注入简介 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库. 二.SQL注入攻击的总体 ...

  4. 浏览器在线查看pdf文件 pdf.js的使用教程

    谷歌浏览器可以直接在线查看pdf,而IE内核浏览器无法在线查看,默认是下载. 这里用到的是pdf.js,不仅支持IE内核浏览器,而且兼容手机查看pdf 官网地址:http://mozilla.gith ...

  5. 大型系统中使用JMS优化技巧–Sun OpenMQ

    我们先来看看在Sun OpenMQ系统中 一个持久.可靠的方式传送消息的步骤是怎么样的,如图所示: 查看大图请点击这里 在传送过程中,系统处理JMS消息分为以下两类:   ■ 有效负荷消息,由生成方发 ...

  6. [BZOJ5303][HAOI2018]反色游戏(Tarjan)

    暴力做法是列异或方程组后高斯消元,答案为2^自由元个数,可以得60分.但这个算法已经到此为止了. 从图论的角度考虑这个问题,当原图是一棵树时,可以从叶子开始唯一确定每条边的选择情况,所以答案为1. 于 ...

  7. [BZOJ3595][SCOI2014]方伯伯的OJ(裂点Splay)

    用一棵Splay按名次维护每个点,其中一个节点对应初始编号连续的一段区间,这样总节点数是$O(m)$的. 对每个编号记录这个点被Splay的那个节点维护,用std::map存储,只记录被修改的点. 每 ...

  8. 在windows安装配置Git开发环境

    开始配置Git的开发环境.首先从google  code下载最新的windows的git安装包msysgit,当时我下载的是Git-1.7.4-preview20110204.exe,然后就开始安装了 ...

  9. 开发移动端web页面click事件失效问题

    这两天在做一个WAP页面,在chrome上模拟移动端的时候,都好好的,然而放到手机上测试时, 发现有些点击事件直接无反应,但是有些有反应: 难道是由于我页面上有用到滚动插件,里面的touch事件的pr ...

  10. 读书笔记_Effective_C++_条款三十六:绝不重新定义继承而来的non-virtual函数

    这个条款的内容很简单,见下面的示例: class BaseClass { public: void NonVirtualFunction() { cout << "BaseCla ...