IOS音频播放概述

1.IOS系统中的音频播放方式

AVAudioPlayer、AVPlayer、系统声音、音频队列

AVAudioPlayer:使用简单方便,但只能播放本地音频,不支持流媒体播放。

AVPlayer:IOS4.0以后,可以使用AVPlayer播放本地音频和支持流媒体播放,但提供接口较少,处理音频不够灵活。

音频队列主要处理流媒体播放,提供了强大且灵活的API接口(C函数的接口),但处理起来也较为复杂。


首先来说下AVAudioPlayer的使用

使用AVAudioPlayer或AVPlayer需要引用AVFoundation类库

处理音频示例:

    /*************AVAudioPlayer******************/
//    
    NSBundle *bundle=[NSBundle mainBundle];
    
    //音频文件路径
    NSString *musicurl=[bundle pathForResource:@"第一夫人" ofType:@"mp3"];
    
    //初始化本地的URl
    NSURL *url=[[NSURL alloc] initFileURLWithPath:musicurl];
    
    //声明一个全局的 AVAudioPlayer *player;
    
    player=[[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL];

    //准备播放
    [player prepareToPlay];
  
    /************URL地址播放*******/
    
    /**************AVPlayer**************/
    //    NSString *musicurl=@"http://zhangmenshiting.baidu.com/data2/music/33934538/339262571358352061320.mp3?xcode=ec59d57fb2fe65b2ac5cb01b8744315c";
    //
    //    NSURL *url=[NSURL URLWithString:musicurl];
    //
    //    AVPlayer *aplayer=[[AVPlayer alloc] initWithURL:url];
    //
    //    [aplayer play];
    

常用属性:

1.音量

player.volume=0.8; //0.0-1.0之间

2.循环次数

player.numberOfLoops=3;//默认只播放一次

player.duration; //总时长

3.播放位置

palyer.currentTime=15.0 ;  

4.声道数

NSUInterger channels=player.numberOfChannels;// 只读属性


//常用方法

[player play]; //播放

[player pause];//暂停

[player stop] //停止

代理方法

AVAudioPlayerDelegate



系统声明的格式caf/wav/aiff格式,且时长小于30s需要导入AudioToolBox类库

/***********播放系统声音(30s)*************************/
//    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"44th Street Medium" ofType:@"caf"];
//        
//    NSURL *url=[NSURL fileURLWithPath:filePath];
//    //    SystemSoundID soundId;
//    //    unsigned long soundId;
//    
//    //为url地址注册系统声音
//    AudioServicesCreateSystemSoundID((CFURLRef)url, &soundId);
//    
//    NSLog(@"soundId : %lu", soundId);
//    
//    //播放系统声音
//    AudioServicesPlaySystemSound(soundId);
//    
//    //播放震动
//    AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
贴上效果图(Xlib)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值