使用AVAudioPlayer播放音乐

AVAudioPlayer是一个属于AVFoundation.framework的类.它作用类似于一个功能强大的播放器.AVAudioPlayer支持广泛的音频格式,

主要是以下这些格式.

  1. AAC
  2. AMR(Adaptive Multi-Rate,一种语音格式)
  3. ALAC(Apple Lossless Audio Code)
  4. iLBC(internet Low Bitrate Code,另一种语言格式)
  5. IMA4(IMA/ADPCM)
  6. linearPCM(uncompressed)
  7. μ-law和a-law
  8. MP3(MPEG-Laudio Layer 3)

使用AVAudioPlayer播放音频十分简单,当程序控制AVAudioPlayer对象装载音频完成之后,可以调用AVAudioPlayer的如下方法进行播放控制

-play

开始或恢复播放.调用该方法时,如果该音频还没有准备好,程序会隐式先执行prepareToPlay方法

- playAtTime

(NSTimeInterval)time: 在指定时间点开始或恢复播放

- ause

暂停

- stop

停止

- prepareToPlay

准备开始播放.调用play方法时,如果该银屏还没有准备好,程序会隐式先执行该方法.

AVAudioPlayer装载指定音频文件,AVAudioPlayer提供了如下简单的初始化方法

- initWithContentsOfURL:error: :

从指定URL装载音频文件,并返回新创建的AVAudioPlayer对象.

- initWithData:error: :

装载指定NSData对象所代表的音频数据,并返回新创建的AVAudioPlayer对象

AVAudioPlayer提供了如下属性来访问音频文件的相关信息

playing:

该只读属性返回播放器是否正在播放音频

volume:

该属性用于设置和返回播放器的音量增益.该增益值可以为0.0~1.0.

pan:

该属性用于设置或返回立体声平衡.如果该属性设为-1.0,则完全在左边播放;如果设为0.0,则左右音量相同;如果设为1.0,则完全在右边播放.

rate:

该属性设置或返回播放速率.该属性值支持0.5(半速播放)~2.0(倍速播放)之间的浮点值

enableRate:

该属性设置或返回播放器是否允许改变播放速率.

numberOfLoops:

该属性设置或返回播放器的循环次数.如果将该属性设为负值,那么播放器将会一直播放,直到程序调用stop方法停止播放.

delegate:

该属性用于为AVAudioPlayer设置代理对象.

numberOfChannels:

该只读属性返回音频的声道数目

duration:

该只读属性返回音频的持续时间.

currentTime:

该属性获取音频的播放点.

deviceCurrentTime:

该只读属性返回音频.

url:

该只读属性返回播放器关联的音频URL.

data:

该只读属性返回播放器关联的音频数据.

iOS-----使用AVAudioPlayer播放音乐的更多相关文章

  1. iOS音频与视频的开发(一)-使用AVAudioPlayer播放音乐、使用AVPlayerViewController播放视频

    iOS的多媒体支持非常强大,它提供了多套支持多媒体的API,无论是音频.视频的播放,还是录制,iOS都提供了多种API支持.借助于这些API的支持,iOS应用既可以查看.播放手机相册中的照片.视频,也 ...

  2. iOS设备后台播放音乐方法

    iOS设备后台播放音乐方法 1 在设置Capabliites中打开Background Modes,选择Audio And AirPlay 2 在控制viewDidLoad中添加下面代码 AVAudi ...

  3. iOS8 用AVAudioPlayer播放音乐(Swift)

    AVAudioPlayer 类提供了播放音频文件的功能,在本次教程中,我们将对一个音乐文件进行播放暂停和停止操作,此外还会显示标题和播放时间.本次教程使用iOS8和Xcod6.3.1 打开Xcode创 ...

  4. IOS 后台执行 播放音乐

    iOS 4開始引入的multitask.我们能够实现像ipod程序那样在后台播放音频了. 假设音频操作是用苹果官方的AVFoundation.framework实现.像用AvAudioPlayer.A ...

  5. IOS使用AVAudioPlayer播放mp3歌曲文件并监听来电打断

    本实例实现了AVAudioPlayer播放mp3歌曲文件,实现了播放.暂停.继续操作,音乐音量控制.播放进度显示,同时监听来电打断事件 一.控件初始化 - (void)viewDidLoad { [s ...

  6. AVAudioPlayer播放音乐

    1:首先创建一个新的项目,继承自UIViewController 2:导入框架AVFoundation.framework 右键工程名,在Build Phases的Link Binary With L ...

  7. iOS 实现后台 播放音乐声音 AVAudioPlayer 以及铃声设置(循环播放震动)

    1.步骤一:在Info.plist中,添加"Required background modes"键,value为:App plays audio 或者: 步骤二: - (BOOL) ...

  8. iOS -- AVAudioPlayer播放音乐

    一. AVAudioPlayer:                          声明音乐控件AVAudioPlayer,必须声明为全局属性变量,否则可能不会播放,AVAudioPlayer只能播 ...

  9. ios学习:AVAudioPlayer播放音乐文件及读取ipod库中的音乐文件

    首先要导入AVFoundation框架及 #import <AVFoundation/AVFoundation.h>头文件 注意:要在真机上调试 下面是ipad上的调试效果 下面是代码,代 ...

随机推荐

  1. 【转载】showModalDialog returnValue is undefined in Google Chrome

    showModalDialog returnValue is undefined in Google Chrome Posted on August 22, 2012by briancaos For ...

  2. heartbeat-gui

    一.简介gui heartbeat的v2版本将v1中haresources配置文件使用GUI图形配置接口来配置高可用集群.更加便捷,直观. 二.准备条件和资源规划见上文http://www.cnblo ...

  3. MySQL: Speed of INSERT Statements

    Speed of INSERT Statements To optimize insert speed, combine many small operations into a single lar ...

  4. java的时间获取

    System类代表系统,系统级的很多属性和控制方法都放置在该类的内部.该类位于java.lang包. currentTimeMillis方法 public static long currentTim ...

  5. Codeforces Round #341 (Div. 2) C. Mike and Chocolate Thieves 二分

    C. Mike and Chocolate Thieves time limit per test 2 seconds memory limit per test 256 megabytes inpu ...

  6. jmeter-对响应数据进行unicode转码

    1,请求接口成功后,返回数据为unicode编码,查看不方便

  7. UTF-8文件的Unicode签名BOM(Byte Order Mark)问题记录(EF BB BF)

    背景 楼主测试的批量发送信息功能上线之后,后台发现存在少量的ERROR日志,日志内容为手机号码格式不正确. 此前测试过程中没有出现过此类问题,从运营人员拿到的发送列表的TXT,号码是符合规则的,且格式 ...

  8. winform版本自动更新

    我们在使用软件的时候经常会遇到升级版本,这也是Winform程序的一个功能,今天就大概说下我是怎么实现的吧(代码有点不完美有小BUG,后面再说) 先说下我的思路:首先在打开程序的时候去拿到我之前在网站 ...

  9. C#/Java 程序员转GO/golang程序员笔记大全(day 01)

    前言: 整理一下学习 Go 语言的笔记,作为一名老程序,学习一名新的开发语言自然不需要像小白那样从 HelloWorld 看起. 简单整理一下 Go 的一些差异处,希望对大家学习 go 有点帮助,不正 ...

  10. Qt5全局热键-QxtGlobalShortcut

    最近做一个项目需要注册全局热键,在网上搜索发现有个第三方库 libqxt 中给出一个比较好的跨平台的解决方案,就是 QxtGlobalShortcut. 但是编译过程中发现这个库用到的QAbstrac ...