iOS 播放声音文件
播放声音可以通过3中方式来完成。
1.AVAudioPlayer
使用简单方便,但只能播放本地音频,不支持流媒体播放。
//初始化文件地址
NSBundle *bundle = [NSBundle mainBundle];
NSString *filePath = [bundle pathForResource:@"fileName" ofType:@"mp3"];
NSURL *url = [NSURL fileURLWithPath:filePath];
//初始化音频对象
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL];
[player prepareToPlay];
//播放
if([player play])
{
NSLog(@"正在播放");
}
if([player isPlaying])
{
NSLog(@"检测播放状态");
}
//暂停播放
[player pause];
//停止播放
[player stop];
//其他常用属性
//1.音量
player.volume = 0.8;//设置音量(0-1之间)
//2.循环次数
player.;//默认只播放一次
NSLog(@"总时长 %f",player.duration); //总时长
//3.播放位置
player.currentTime = 15.0;//从指定的位置开始播放
这里可以通过添加代理来监听文件是否播放成功或其他的方法
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
NSLog(@"音频文件播放完成");
}
2.AVPlayer
iOS4.0以后,可以使用AVPlayer播放本地音频和支持流媒体播放,但提供接口较少,处理音频不够灵活。
//可以播放网络资源
NSString *filePath = @"http://www.xxx.1112321.mp3";
NSURL *url = [NSURL URLWithString:filePath];
AVPlayer *player = [[AVPlayer alloc] initWithURL:url];
[player play];
3.播放系统声音
//1.注册系统声音
SystemSoundID soundID;
AudioServicesCreateSystemSoundID((CFURLRef)@"filePathUrl", &soundID);
//filePathUrl文件的类型格式为:caf/wav/aiff格式,且时长小于30s
//2.1播放声音
AudioServicesPlaySystemSound(soundID);
//2.2播放震动
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
iOS 播放声音文件的更多相关文章
- iOS应用文件夹
IOS5多了一个比较重要的功能iCloud,但是同时也出现一个问题,很多的APP都把很大量的数据存在APP底下的Documents(/Documents )文件夹里面,这样苹果会reject掉你的AP ...
- iOS: Crash文件解析(一)
iOS Crash文件的解析(一) 开发程序的过程中不管我们已经如何小心,总是会在不经意间遇到程序闪退.脑补一下当你在一群人面前自信的拿着你的App做功能预演的时候,流畅的操作被无情地Crash打断. ...
- iOS 获取文件的目录路径的几种方法 [转]
iOS 获取文件的目录路径的几种方法 2 years ago davidzhang iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. d ...
- ios播放声音中断后台音乐的问题
今天遇到一个ios播放声音中断后台音乐的问题,在我的app中如果调用AVAudioSession 播放完声音,后台的qq音乐偶尔不能恢复,而网易云音乐一次都不能恢复播放,研究了一下AVAudioS ...
- iOS Crash文件的解析
iOS Crash文件的解析 开发程序的过程中不管我们已经如何小心,总是会在不经意间遇到程序闪退.脑补一下当你在一群人面前自信的拿着你的App做功能预演的时候,流畅的操作被无情地Crash打断.联想起 ...
- iOS: 获取文件路径
iOS: 获取文件路径 // 例如 - (NSString *)applicationDocumentsDirectory { return [NSSearchPathForDirectories ...
- MFC使用Windows media player播放声音文件
一.在需要播放声音的资源上添加控件 资源视图 . 选择添加控件的资源(如对话框).右键单击.插入ActiveX控件.调整你需要的控件属性并记录ID 二.在项目中添加播放声音的类 点击菜单中的项目.添 ...
- iOS实现文件上传功能模块
iOS实现文件上传功能,首先要知道的是,上传到服务器的数据格式,一般采用HTTP文件上传协议.如下图 如图所示,只要设置好了HTTP的协议格式,就可以实现文件上传功能. 代码如下: //图片上传模块 ...
- ios本地文件内容读取,.json .plist 文件读写
ios本地文件内容读取,.json .plist 文件读写 本地文件.json .plist文件是较为常用的存储本地数据的文件,对这些文件的操作也是一种常用的基础. 本文同时提供初始化变量的比较标准的 ...
随机推荐
- html之内联标签img
img创建的是被链接图像的占位空间,它不会真正地在网页插入图像. 两个必须属性: src:图像的超链接 alt:图像的替代文本 可选属性: height:高度 width:宽度 ismap:将图像定义 ...
- 相关性分析 -pearson spearman kendall相关系数
先说独立与相关的关系:对于两个随机变量,独立一定不相关,不相关不一定独立.有这么一种直观的解释(不一定非常准确):独立代表两个随机变量之间没有任何关系,而相关仅仅是指二者之间没有线性关系,所以不难推出 ...
- maven NoClassDefFoundError: org/mortbay/util/Attributes
在运行mvn jetty:run报错: NoClassDefFoundError: org/mortbay/util/Attributes 解决方法: deleted /home/jenkins/.m ...
- 使用注解来构造IoC容器
用注解来向Spring容器注册Bean.需要在applicationContext.xml中注册<context:component-scan base-package=”pagkage1[,p ...
- Protocol Buffer Java实例
大家要先下载protobuffer,在这里: https://code.google.com/p/protobuf/downloads/list 注意,需要下载两个,一个是complier,另外一个是 ...
- Angular学习(8)- directive
<!DOCTYPE html> <html ng-app="MyApp"> <head> <title>Study 9</ti ...
- (转)Edge实现NodeJS与.NET互操作(包括UI界面示例)
本文转载自:http://blog.csdn.net/kimmking/article/details/42708049 1. Edge是什么 Edge是一种在进程内实现NodeJS与.NET互操作 ...
- bzoj2012: [Ceoi2010]Pin
Description 给出N(2<=N<=50000)个长度为4的字符串,问有且仅有D(1<=D<=4)处不相同的字符串有几对. Input 第1行: N,D 以下N行每行一 ...
- TCP中需要了解的东西
1.TCP是一个流协议. TCP跟UDP不一样的是,TCP发送过去的东西是stream,也就是说第一次发送的跟第二次发送的数据包可能会粘在一起,即所谓的粘包问题 http://blog.csdn.ne ...
- 关于Cannot assign to 'self' outside of a method in the init family解决方法
有时候我们重写父类的init方法时不注意将init后面的第一个字母写成了小写,在这个方法里面又调用父类的初始化方法(self = [super init];)时会报错,错误信息如下:error:Can ...