分享

IOS音频播放概述

 叹落花 2015-01-30

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

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

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

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

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


首先来说下AVAudioPlayer的使用

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

处理音频示例:

  1. /*************AVAudioPlayer******************/  
  2.     
  3. NSBundle *bundle=[NSBundle mainBundle];  
  4.   
  5. //音频文件路径  
  6. NSString *musicurl=[bundle pathForResource:@"第一夫人" ofType:@"mp3"];  
  7.   
  8. //初始化本地的URl  
  9. NSURL *url=[[NSURL alloc] initFileURLWithPath:musicurl];  
  10.   
  11. //声明一个全局的 AVAudioPlayer *player;  
  12.   
  13. player=[[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL];  
  14.   
  15. //准备播放  
  16. [player prepareToPlay];  
  17.   
  18. /************URL地址播放*******/  
  19.   
  20. /**************AVPlayer**************/  
  21. //    NSString *musicurl=@"http://zhangmenshiting.baidu.com/data2/music/33934538/339262571358352061320.mp3?xcode=ec59d57fb2fe65b2ac5cb01b8744315c";  
  22. //  
  23. //    NSURL *url=[NSURL URLWithString:musicurl];  
  24. //  
  25. //    AVPlayer *aplayer=[[AVPlayer alloc] initWithURL:url];  
  26. //  
  27. //    [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类库

  1. /***********播放系统声音(30s)*************************/  
  2. //    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"44th Street Medium" ofType:@"caf"];  
  3. //          
  4. //    NSURL *url=[NSURL fileURLWithPath:filePath];  
  5. //    //    SystemSoundID soundId;  
  6. //    //    unsigned long soundId;  
  7. //      
  8. //    //为url地址注册系统声音  
  9. //    AudioServicesCreateSystemSoundID((CFURLRef)url, &soundId);  
  10. //      
  11. //    NSLog(@"soundId : %lu", soundId);  
  12. //      
  13. //    //播放系统声音  
  14. //    AudioServicesPlaySystemSound(soundId);  
  15. //      
  16. //    //播放震动  
  17. //    AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);  
贴上效果图(Xlib)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多