<图形图像,动画,多媒体> 读书笔记 --- 音效

音频多媒体文件主要是存放音频数据信息,音频文件在录制的过程中把声音信号,通过音频编码,变成音频数字信号保存到某种格式文件中.在播放过程中在对音频文件解码,解码出的信号通过扬声器等设备就可以转成音波.音频文件在编码的过程中数据量很大,所以有的文件格式对于数据进行了压缩,因此音频文件可以分为:

无损格式,是非压缩数据格式,文件很大一般不适合移动设备,例如:WAV,AU,APE等文件

有损格式,对于数据进行了压缩,压缩后丢掉了一些数据,例如MP3,WMA等文件.

1.WAV文件

WAV文件目前是最流行的无损压缩格式,WAV文件格式灵活,可以存储多种类型的音频数据,由于文件较大不太适合于移动设备这些存储容量小的设备

2.MP3文件

MP3格式现在非常流行,MP3是一种有损压缩格式,他尽可能地去掉人耳无法感觉的部分和不敏感的部分,MP3是利用MPEG Audio Layer 3的技术将数据以1:10甚至1:12的压缩率,压缩成容量较小的文件,这么高的压缩比率非常适合存储容量小得移动设备

3.WMA文件

WMA格式是微软公司发布的文件格式,也是有损压缩格式.它与MP3格式不分伯仲.在低比特率渲染情况下,WMA格式显示出来比MP3更多的优点,压缩比MP3更高,音质更好.但是在高比特率渲染情况下MP3还是占优势.

4.CAFF文件

CAFF文件是苹果公司开发的专门用于MAC OS X 和iOS系统无法所音频格式.它被设计来替换老的WAV格式

5.AIFF

AIFF文件是苹果开发的专业音频文件格式.AIFF的压缩格式是AIFF-C,将数据以4:1压缩率进行压缩,专门应用于MAC OS X 和 iOS系统.

语音合成

AVSpeechUtterance *utt = [AVSpeechUtterance speechUtteranceWithString:@"test 文本"];
    utt.rate = [self.slider value];
    [self.speechSynthesizer speakUtterance:utt];

System Sound API

System Sound API是属于core Audio中属于面向c语言的次层次API(书上是这么说,但看代码应该是包含了AudioToolbox)

播放系统声音

播放系统声音主要使用AudioServicesPlaySystemSound函数进行播放,主要用于游戏音效和操作声音等.他的工作流程大致是:

1.播放前的准备阶段:使用AudioServicesCreateSystemSoundID函数创建SystemSoundID,然后使用AudioServicesAddSystemSoundCompletion注销声音播放完成事件回调函数.

2.播放阶段:使用AudioServicesPlaySystemSound播放声音实现.

3.播放后的处理阶段:释放资源,注销事件回调函数,这包括了使用AudioServicesDisposeSystemSoundID函数释放SystemSoundID和使用AudioServicesRemoveSystemSoundCompletion注销声音播放完成事件回调函数.

//定义一个回调函数,用于当声音播放完成之后回调。
void SoundFinishedPlayingCallback(SystemSoundID sound_id, void* user_data)
{
    //注销声音播放完成事件回调函数。
    AudioServicesRemoveSystemSoundCompletion(sound_id);
    //释放SystemSoundID
	AudioServicesDisposeSystemSoundID(sound_id);
}

@implementation ViewController

- (IBAction)playSystemSound:(id)sender {
    NSURL* system_sound_url = [NSURL fileURLWithPath:[[NSBundle mainBundle]
                                                      pathForResource:@"AlertChordStroke" ofType:@"wav"]];

    SystemSoundID system_sound_id;

    //创建SystemSoundID
    AudioServicesCreateSystemSoundID(
                                     (CFURLRef)CFBridgingRetain(system_sound_url),
                                     &system_sound_id
                                     );

    //注销声音播放完成事件回调函数。
    AudioServicesAddSystemSoundCompletion(
                                          system_sound_id,
                                          NULL,
                                          NULL,
                                          SoundFinishedPlayingCallback,
                                          NULL
                                          );

    //播放系统声音
    AudioServicesPlaySystemSound(system_sound_id);

}

震动设备

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

OpenAL

播放声音的流程

1.获得设备信息

2.获得环境信息

3.初始化缓冲区

4.初始化声援

5.将缓冲区和声源绑定

6.初始化听众

7.播放

8.释放内存

初始化缓存的过程

1.打开文件

2.获得实际音频文件大小

3.开辟音频内存数据空间

4.读取的文件到内存中

5.关闭文件

6.从OpenAL中获得缓冲区ID

7.内存中音频数据复制到缓冲区

8.清除内存中音频数据

时间: 2024-08-10 23:17:11

<图形图像,动画,多媒体> 读书笔记 --- 音效的相关文章

&lt;图形图像,动画,多媒体&gt; 读书笔记 --- 图像处理

为了便于操作图像iOS中定义图像类,UIImage是UIKit框架中定义的图像类,其封装了高层次图像类,可以通过多种方式创建这些对象.在Core Graphics框架(或Quartz 2D)中也定义了CGImage,他表示位图图像,因为CGImage被封装起来了,所以通常通过CGImageRef来使用CGImage. 除了UIImage和CGImage外,在Core Image框架中也有一个图像类 CIImage,CIImage封装了图像类能够很好地进行图像效果处理.例如,滤镜的使用.UIIma

&lt;图形图像,动画,多媒体&gt; 读书笔记 --- AirPlay

AirPlay技术是之前一直没有接触过的技术,正好这次做一个笔记 共用: 1.可以通过AirPlay将iOS和MAC设备上的视频或音频输出到高清电视上或高保真音响 2.可以通过AirPlay将iOS和MAC设备屏幕镜像显示到高清电视上 3.可以通过AirPlay将iOS和MAC设备屏幕与高清电视实现双屏幕显示 AirPlay对能够播放的媒体编码有要求 1.音频数据采用AAC或MP3编码压缩 2.视频数据采用H264编码压缩 可以通过AirPlay播放的技术有 1.MPMoviePlayerCon

&lt;图形图像,动画,多媒体&gt; 读书笔记 --- 视频

1.AVI文件 AVI是音频视频交错的英文缩写,它是微软公司开发的一种符合RIFF文件规范的数字音频与视频文件格式,是将音频与视频同步组合在一起的文件格式,他对视频文件采用了一种有损压缩方式. 2.WMV文件 WMV也是微软公司推出的一种流媒体格式,在同等视频质量下,WMV格式的体积非常小,因此很适合在网上播放和传输. 3.RMVB文件 RMVB是一种视频文件格式,RMVB中的VB指他打破了压缩的平均比特率,使在静态画面下的比特率降低,来达到优化整个视频中比特率,提高效率节约资源的目的.RMVB

&lt;图形图像,动画,多媒体&gt; 读书笔记 --- 录制与编辑视频

使用UIImagePickerController 进行录制 #import "ViewController.h" #import <MobileCoreServices/MobileCoreServices.h> #import <QuartzCore/QuartzCore.h> @interface ViewController () <UIImagePickerControllerDelegate,UINavigationControllerDele

&lt;图形图像,动画,多媒体&gt; 读书笔记 --- 力学行为特性

UIKit力学行为包含了:重力(UIGravityBehavior),碰撞(UICollisionBehavior),吸附(UIAttachmentBehavior),推(UIPushBehavior),甩(UISnapBehavior)和行为限制(UIDynamicItemBehavior). - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; _animator = [[UIDynamicAnimato

&lt;图形图像,动画,多媒体&gt; 读书笔记 --- 图像处理之人脸识别

人脸识别过程一般分为以下3个步骤: 1.首先建立人脸的面纹数据库.可以通过照相机或摄像机采集人脸的面相图片,将这些面相图片生成面纹编码保存到数据库中. 2.获取当前人脸面相图片.即通过照相机或摄像机采集人脸的面相图片,将当前的面相文件生成面纹编码 3.用当前的面纹编码与数据库中的面纹编码进行对比 在iOS5之后提供人脸识别的API,通过提供的CIDetector类可以进行人脸特征识别,CIDetector是CoreImage框架中的一个特征识别滤镜,CIDetector主要用于人脸特征识别.通过

&amp;lt;图形图像,动画,多媒体&amp;gt; 读书笔记 --- 音效

音频多媒体文件主要是存放音频数据信息,音频文件在录制的过程中把声音信号,通过音频编码,变成音频数字信号保存到某种格式文件里.在播放过程中在对音频文件解码,解码出的信号通过扬声器等设备就能够转成音波.音频文件在编码的过程中数据量非常大,所以有的文件格式对于数据进行了压缩,因此音频文件能够分为: 无损格式,是非压缩数据格式,文件非常大一般不适合移动设备,比如:WAV,AU,APE等文件 有损格式,对于数据进行了压缩,压缩后丢掉了一些数据,比如MP3,WMA等文件. 1.WAV文件 WAV文件眼下是最

&amp;lt;图形图像,动画,多媒体&amp;gt; 读书笔记 --- AirPlay

AirPlay技术是之前一直没有接触过的技术,正好这次做一个笔记 共用: 1.能够通过AirPlay将iOS和MAC设备上的视频或音频输出到高清电视上或高保真音响 2.能够通过AirPlay将iOS和MAC设备屏幕镜像显示到高清电视上 3.能够通过AirPlay将iOS和MAC设备屏幕与高清电视实现双屏幕显示 AirPlay对可以播放的媒体编码有要求 1.音频数据採用AAC或MP3编码压缩 2.视频数据採用H264编码压缩 能够通过AirPlay播放的技术有 1.MPMoviePlayerCon

&amp;lt;图形图像,动画,多媒体&amp;gt; 读书笔记 --- 录制与编辑视频

使用UIImagePickerController 进行录制 #import "ViewController.h" #import <MobileCoreServices/MobileCoreServices.h> #import <QuartzCore/QuartzCore.h> @interface ViewController () <UIImagePickerControllerDelegate,UINavigationControllerDele