音频和视频常用处理_第1页
音频和视频常用处理_第2页
音频和视频常用处理_第3页
音频和视频常用处理_第4页
音频和视频常用处理_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

和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

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

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论