音频的播放方法
来源:互联网 发布:日本教科书知乎 编辑:程序博客网 时间:2024/05/18 17:40
总结了三个播放音频的方法:AVAudioPlayer、AVPlayer以及注册系统声音,没有什么技巧,直接用就行了(^__^)
#import "ViewController.h"//1.引入框架#import <AVFoundation/AVFoundation.h>//2.引入代理@interface ViewController()<AVAudioPlayerDelegate> { //3.创建播放对象(设置为全局的,防止一运行完就销毁的情况 AVAudioPlayer *audioPlayer; //只能播放本地的文件 AVPlayer *avPlayer; //本地和网络都可以 SystemSoundID soundID; //系统声音的注册ID}@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; //-------------AVAudioPlayer使用// [self createAudioPlayer]; //-------------AVPlayer使用// [self createAVPlayer]; //------------SystemSound使用 [self createSystemSound];}#pragma mark - AVAudioPlayer使用(本地文件播放)- (void) createAudioPlayer { //获取文件路径 NSString *filePath = [[NSBundle mainBundle] pathForResource:@"音频名" ofType:@"mp3"]; //将本地文件路径,转成url NSURL *url = [NSURL fileURLWithPath:filePath]; /* NSURL *url = [NSURL URLWithString:@""]; //将网址转成路径 */ //初始化播放数据 audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil]; //设置代理 audioPlayer.delegate = self; // AVAudioPlayer常用属性和方法 /* //1.音量(0.0 - 1.0) audioPlayer.volume = 0.5; //2.循环次数(默认一次) audioPlayer.numberOfLoops = 1; //3.设置播放时间 audioPlayer.currentTime = 125; */ //准备播放 [audioPlayer prepareToPlay]; //播放 [audioPlayer play];}#pragma mark - 创建AVPlayer(本地和网络都可以)- (void) createAVPlayer { //获取本地的操作,看AVAudioPlayer的代码就行 //获取网络地址 //注意的:访问网络地址,要再info.plist里面添加NSAppTansportSecurity 设置为字典,然后在字典中添加NSAllowsArbitraryLoads 设置值为Yes,就可以访问网络了(Xcode 7.0版本,是这么设置滴,其他的我就不清楚啦^*^ NSURL *url = [NSURL URLWithString:@"音频的网址,自己找"]; //初始化数据 avPlayer = [[AVPlayer alloc] initWithURL:url]; //准备播放 [avPlayer play];}#pragma mark - 创建系统声音- (void) createSystemSound { /* 注册的系统声音,时长小于30s,格式为caf/wav/aiff */ //获取本地文件 NSString *filePath = [[NSBundle mainBundle] pathForResource:@"音频名" ofType:@"caf"]; //转成url NSURL *url = [NSURL fileURLWithPath:filePath]; //注册系统声音 //soundID:标识音频 ,这里的soundID,我设置成全局的 AudioServicesCreateSystemSoundID((__bridge CFURLRef)url, &soundID); //播放 AudioServicesPlaySystemSound(soundID);}#pragma mark - 销毁注册的系统声音- (void) dealloc { //ARC中C语言的函数需要我们手动管理内存 //1.移除注册系统声音// AudioServicesRemoveSystemSoundCompletion(soundID); //2.销毁注册系统声音 AudioServicesDisposeSystemSoundID(soundID);}@end
0 0
- 音频的播放方法
- VC++播放音频的简单方法
- VC++播放音频的简单方法
- VC++播放音频的简单方法 收藏
- iOS 播放音频的几种方法
- iOS 播放音频的几种方法
- iOS 播放音频的几种方法
- iOS 播放音频的几种方法
- iOS 播放音频的几种方法
- iOS 播放音频的几种方法
- iOS 播放音频的几种方法
- iOS 播放音频的几种方法
- iOS 播放音频的几种方法
- iOS 播放音频的几种方法
- iOS 播放音频的几种方法
- iOS 播放音频的几种方法
- iOS 播放音频的几种方法
- iOS 音频播放的几种方法
- MongoDB Limit/限制记录
- Zhou_Zy's OI life.
- iOS系统的二维码扫描
- Java面向对象多态性应用
- 在Linux服务器Tomcat中部署转成Maven的JavaWeb项目
- 音频的播放方法
- exgcd之求逆元
- C++读写配置文件 config类
- Storm/Jtorm基本知识(一)
- MongoDB 排序文档
- win7 64位安装Oracle11g后,安装PL/SQL Developer用不了
- js修改IOS微信title
- Git常用命令
- javaSE学习 Day1