




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
和iPad开发培训机构,到目前为无限互联是国内唯一一家专注于止为各大公司输送了一大批优秀的iOS高级研发人才。随着iOS6系统的发布,也在当天陆续发布国内首套完整的iOS开发的 ,手把 您写代码,从入门到熟练再到精通。高薪就业是检验一家培训机构质量的唯一标准,的学员高薪就业是对的努力,感谢对最好的肯定,也是 前进的最 动力, 感谢的支持! 也将免费为提供最好的就业后的技术支持!, 的高薪就业才是最大的成功!:无限互联3G学院13年9月17日星期二第十五课
音频与 的常用处理主讲:陈为:无限互联3G学院13年9月17日星期二本标·使用AVAudioPlayer类音频掌握音乐···自定义 任务使用MPMoviePlayer:无限互联3G学院13年9月17日星期二1、IOS音频概述·
i
O
S 系统中的音频
方式·A
V
A
u
d
i
o
P
l
a
y
e
r、AVPlayer、系统声音、音频队列·
A
V
A
u
d
i
o
P
l
a
y
e
r·使用简单方便,但只能 本地音频,不支持流本地音频和支持流,但提供接口较·
A
V
P
l
a
y
e
r·
i
O
S
4.0以后,可以使用AVPlayer少,处理音频不够灵活·音频队列·音频队列主要处理流,提供了强大且灵活的API接口(C函数的接口),但处理起来也较为复杂:无限互联3G学院13年9月17日星期二2、AVAUDIOPLAYER的使用·框架·使用AVAudioPlayer或AVPlayer需要AVFoundation类库·处理音频示例:"NSBundle
*bundle
=
[NSBundle
mainBundle];//音频文件路径NSString
*urlString
=
[bundle
pathForResource:@"ofType:@"mp3"];//初始化本地的urlNSURL
*url
=
[[NSURL
alloc]
initFileURLWithPath:urlString];//初始化音频对象AVAudioPlayer
*player
=
[[AVAudioPlayer
alloc]initWithContentsOfURL:urlerror:nil];队列//
分配 所需的资源,并将其加入[player
prepareToPlay];//if
([player
play])
{NSLog(@"正在
");}:无限互联3G学院13年9月17日星期二常用属性·A
V
A
u
d
i
o
P
l
a
y
e
r常用属性一次音量player.volume=0.8;//0.0~1.0之间循环次数player.numberOfLoops=3;//默认只player.duration
//总时长3.
位置//以指定从任意位置开始player.currentTime
=15.0;声道数NSUInteger
channels=player.numberOfChannels;//只读属性常用方法[player
play];
//[player
stop];
//
停止[player
pause];
//
暂停:无限互联3G学院13年9月17日星期二方法A
V
A
u
d
i
o
P
l
a
y
e
r
方法-(void)audioPlayerDidFinishPlaying:(AVAudioPlayer*)playersuccessfully:(BOOL)flag{//
结束时执行的动作}-(void)audioPlayerDecodeErrorDidOccur:(AVAudioPlayer*)player
error:(NSError
*)error{//
错误执行的动作}(void)audioPlayerBeginInterruption:(AVAudioPlayer*)player{//处理中断的代码}(void)audioPlayerEndInterruption:(AVAudioPlayer*)player{//处理中断结束的代码}:无限互联3G学院13年9月17日星期二AVPLAYER的使用·
A
V
P
l
a
y
e
r使用示例:NSString
*urlString
=
@"
/music_96/d2/97/a23297/s54785/m425339_b7617a89.mp3";//
初始化
urlNSURL
*url
=
[NSURL
URLWithString:urlString];//
初始化
器AVPlayer
*player
=
[[AVPlayer
alloc]
initWithURL:url];//[player
play];:无限互联3G学院13年9月17日星期二3、系统声音····系统声音音频数据可分为压缩和非压缩的 类型。压缩的音频文件虽然文件体积较小(相对于非压缩的),但需要耗费处理器的性能进行解压和
。如果音频文件体积较小,压缩后的音频文件,也不会节省较大的磁盘空间。像这一类小型非压缩的文件可以 成为系统声音格式为:caf/wav/aiff格式,且时长小于30s:无限互联3G学院13年9月17日星期二系统声音··系统 声音示例:NSBundle
*bundle
=
[NSBundle
mainBundle];NSString
*path
=
[bundle
pathForResource:@"44th
Street
Medium"ofType:@"caf"];//初始化本地文件urlNSURL
*url
=
[NSURL
fileURLWithPath:path];UInt32
soundID;//
将URL所在的音频文件 为系统声音,soundID音频ID标示该音频AudioServicesCreateSystemSoundID((CFURLRef)url,
&soundID);//
音频AudioServicesPlaySystemSound(soundID);系统//
系统AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);:无限互联3G学院13年9月17日星期二课堂练·课堂实例1:一段音频文件添加两个UISlider实例·····分别用于控制器声音和控制进度添加一个Label
和一个UIButton实例分别用于显示进度和控制音频的:无限互联3G学院13年9月17日星期二4、任务·
i
O
S 系统的
任务·
当你的应用程序在 时(被挂起),
在iOS系统(4.0之后)允许你做三件事:播放音频(audio),位置信息以及voip(网络
)·音频···在plist文件中添加“UIBackgroundMode”属性,值为“audio”设置AVAudioSession模式,
音频时,通常将属性设置为AVAudioSessionCategoryPlayback(音频
之前设置)示例:NSError
*error;AVAudioSession
*audionSession
=
[AVAudioSession
sharedInstance];[audionSession
setCategory:AVAudioSessionCategoryPlaybackerror:&error];:无限互联3G学院13年9月17日星期二其他任务··任务,需要在plist其他的
任务通过上一小节的学习, 知道iOS系统可以支持三种标准的文件设置,你的应用程序就支持对应的模式·、音··除去这三种标准的 模式,
也可以添加自定义的 任务。比如,频的 等等但通过情况下,你的应用程序只能活跃600s自定义 任务示例1::无限互联3G学院13年9月17日星期二自定义 任务-
(void)applicationDidEnterBackground:(UIApplication
*)application{UIApplication
*application
=
[UIApplication
sharedApplication];//启动一个 任务bgTask
=
[applicationbeginBackgroundTaskWithExpirationHandler:^(void)
{//当该任务超时回调该block块//结束该任务[application
endBackgroundTask:bgTask];bgTask
=
UIBackgroundTaskInvalid;}];}:无限互联3G学院13年9月17日星期二自定义任务·自定义 任务示例2://
程序进入 调用-
(void)applicationDidEnterBackground:(UIApplication
*)application{//
开启一个 任务,避免程序被挂起bgTask
=
[application
beginBackgroundTaskWithExpirationHandler:^
{[application
endBackgroundTask:bgTask];bgTask
=
UIBackgroundTaskInvalid;}];//开启新的线程[[[NSOperationQueue
alloc]
init]
addOperationWithBlock:^
{//
开启定时器
运行时间[NSTimer
scheduledTimerWithTimeInterval:1
:selfselector:@selector(timerAction)userInfo:selfrepeats:YES];[[NSRunLoop
currentRunLoop]
run];}];}:无限互联3G学院13年9月17日星期二自定义任务-
(void)timerAction
{
count++;NSLog(@"%d",
count);//因为一个任务只能保持600秒,所以当500秒的时,新开一个新的任务
if
(
count
%500
==0){UIApplication
*application
=
[UIApplication
sharedApplication];bgTask
=
[applicationbeginBackgroundTaskWithExpirationHandler:^(void)
{[application
endBackgroundTask:bgTask];bgTask
=
UIBackgroundTaskInvalid;}];}}:无限互联3G学院13年9月17日星期二5、·
i
O
S·
i
O
S
内置了器,
可以通过使用MPMoviePlayerController或者MPMoviePlayerViewController类(视图控制器)来
(含流播放),两者使用也较为简单·需引入“MediaPlayer.framewrok”库·MPMovie
Player
Controller器可以任意修改
页面尺寸·MPMovie
Player
View
Controller类是一个特殊的视图控制器类,它包含了一个播放器(MPMoviePlayerController):无限互联3G学院13年9月17日星期二示例1:·M
P
M
o
v
i
e
P
l
a
y
e
r
C
o
n
t
r
o
l
l
e
r的使用//初始化urlNSURL
*url
=
[NSURL
URLWithString:@"h
.cn/seg/17.m3u8"];//初始化MPMoviePlayerController
*moviePlayer
=
[[MPMoviePlayerController
alloc]initWithContentURL:url];//
将
视图加入[self.view
addSubview:moviePlayer.view];moviePlayer.view.frame
=
self.view.bounds;//开始[moviePlayer
play];:无限互联3G学院13年9月17日星期二示例2:·M
P
M
o
v
i
e
P
l
a
y
e
r
V
i
e
w
C
o
n
t
r
o
l
l
e
r的使用//初始化urlNSURL
*url
=
[NSURL
URLWithString:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 林业完善合同(2篇)
- 《婴幼儿常见疾病的识别与预防》课件-婴幼儿的照护特点
- 2025监理师《合同管理》招标方式与合同风险控制要点
- 2025年人教版美术五年级下册教学进度安排表
- 高层力挺新质生产力
- 2025年工厂租赁合同范本
- 2025武汉市存量房屋买卖合同
- 2025年土地使用权抵押合同
- 指甲里有黑线的临床护理
- 2025华茶网技术服务合同
- 瓷砖空鼓装修合同协议
- 河南省普通高中2024-2025学年高三下学期学业水平选择性模拟考试(四)历史试题(原卷版+解析版)
- 一例盆腔脏器脱垂全盆底重建术患者的护理
- 旅游消费者决策
- 企业员工环保培训
- 2025年河北省唐山市玉田县第三中学中考一模地理试卷(含答案)
- 2025届金丽衢十二校高三语文第二次联考考场高分作文点评:“效率至上”与“深度求索”
- 完形填空 20篇 集训-2025年译林版七年级英语下册寒假预习(含答案)
- 各岗位应知应会“明白卡”(含矿长等)
- T-CNSAIA 005-2024 纯钛真空杯标准
- 快手账号转让合同范例
评论
0/150
提交评论