IOS AudioToolbox和AVFoundation音频添加

一、添加音效

    一般是比较短的音频,用于手机来电或短信铃声

1、首先引入框架 #import<AudioToolbox/AudioToolbox.h>

2、获取文件路径

    NSString *audioFilePath=[[NSBundle mainBundle]pathForResource:[NSString stringWithFormat:@"duanxin.caf"] ofType:nil];

  NSURL *url=[NSURL fileURLWithPath:audioFilePath];

3、声音ID 赋初始值

    SystemSoundID soundID=0;

4、创建系统声音 获取系统声音ID 和音乐文件链接

    AudioServicesCreateSystemSoundID((__bridge CFURLRef _Nonnull)(url), &soundID);

5、播放

    AudioServicesPlayAlertSound(soundID);

6、添加播放结束后进入的方法

    AudioServicesAddSystemSoundCompletion(soundID, NULL, NULL, playEnd, NULL);

播放结束后进入的方法

void playEnd(SystemSoundID SoundID,void *musicData){

    NSLog(@"%i",i);

    [[[ViewController alloc]init] viewDidLoad];

}

二、添加播放音乐

1、导入框架  引入头文件

#import <AVFoundation/AVFoundation.h>

1、定义全局变量

@property(nonatomic,strong)AVAudioPlayer *playMusic;

 1、初始化,背景音乐 路径(第一个参数是音乐的名字,第二个参数是类型)

    NSString *path=[[NSBundle mainBundle]pathForResource:@"斗地主背景音乐" ofType:@"mp3"];

2、将路径字符串转换为url

    NSURL *url = [NSURL fileURLWithPath:path];

3、找到路径,初始化音频播放器

    _playMusic=[[AVAudioPlayer alloc]initWithContentsOfURL:url error:nil];

4、设置播放器属性,设置循环播放的次数,循环次数为0,播放一次,循环次数为1,播放两次,循环次数为负数时,播放无限循环

    [_playMusic setNumberOfLoops:-1];

5、播放之前调用方法,准备播放

    [_playMusic prepareToPlay];

6、播放   

[_playMusic play];

7、暂停

   (1) [_playMusic pause];

   (2)[_playMusic stop];

疑问:

不写prepareToPlay方法 音乐也可以播放,是不是可以不写

暂停的两个方法属性介绍一个是暂停一个是停止,但是使用的效果却相同,不知道这两个方法有什么区别

 

转载于:https://my.oschina.net/shuaishuaihui/blog/739502

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值