与时俱进的IT

UI(三十七)音效、音频、录音

2018-07-30  本文已影响0人  社会主义顶梁鹿

*1、播放

 (1)音效播放

 《1》功能介绍:播放比较短的音音效,常用于做系统提示音 使用到的框架(AudioToolBox)

 《2》框架介绍

 1、SystemSoundID

 2、AudioServicesCreateSystemSoundID

 3、AudioServicesPlaySystemSound

 4、AudioServicesPlayAlertSound

 《3》使用步骤

 0、导入系统框架 #import

 1、声明声音的ID 靠声音的ID来区分是哪一个音效

 2、创建播放声音的服务 - 告诉系统有一个可以使用的soundID

 (1、声音文件的路径 2、声音的ID)

 3、播放声音 - soundID

 (2)音频播放

 《1》功能介绍-播放比较长的音乐

 《2》框架介绍

 (1)AVAudioPlayer

 (2)初始化

 <1>

 <2>

 <3>***必须声明全局变量、属性的音乐播放对象才可以播放

 <4>在退出播放页面的时候一定要把播放对象置空,同时把delegate置空

 (3)属性

 [audioPlayer play];开始

 [audioPlayer pause];暂停

 [audioPlayer stop];停止

[audioPlayer prepareToPlay]; 预播放

 [audioPlayer playAtTime:5];播放到5秒

initWithContentsOfURL 初始化

audioPlayer.numberOfChannels 获取当前声道

audioPlayer.duration 获得播放音频的时间

 audioPlayer.pan = -1.0 设置左右声道 -1.0左 0.0中间 1.0右

audioPlayer.volume = 1.0 设置音量 范围:0.0-1.0

 设置速率 必须设置enableRate为YES才能设置速率

audioPlayer.enableRate = YES;

audioPlayer.rate = 0.5 速率:0.5一半的速度 1.0普通2.0双倍

 //获得峰值 必须设置meteringEnabled为YES

audioPlayer.meteringEnabled = YES;

[audioPlayer updateMeters] 更新峰值

 [audioPlayer peakPowerForChannel:2] 获得当前峰值

 [audioPlayer averagePowerForChannel:2]获得平均峰值

 //设置播放次数 设置负数是无线循环 0是一次 1是两次...

audioPlayer.numberOfLoops = 0;

audioPlayer.delegate = self;代理

 - (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag 播放完成

 - (void)audioPlayerDecodeErrorDidOccur:(AVAudioPlayer *)player error:(NSError * __nullable)error 解码失败的时候调用

 - (void)audioPlayerBeginInterruption:(AVAudioPlayer *)player 被打扰 开始中断的时候调用

 - (void)audioPlayerEndInterruption:(AVAudioPlayer *)player withOptions:(NSUInteger)flags 中断结束时候调用78+44vxz

 (4)使用步骤

 <0>导入#import

 <1>资源文件路径

 <2>初始化播放器

 <3>设置播放

 <4>预播放

 <5>播放

 *2、录音

 (1)使用框架

 (2)相关类介绍:

 《1》

 <1>AVNumberOfChannelsKey 通道数

 <2>AVSampleRateKey 采样率 44100

 <3>AVLinearPCMBitDepthKey 比特率 16、32

 <4>AVEncoderAudioQualityKey 质量

 <5>AVEncoderBitRateKey 比特采样率 128000

 ()prepareToRecord 预录音

 (3)使用

 《1》初始化

 《2》开始录音

 《3》停止录音

上一篇下一篇

猜你喜欢

热点阅读