iOS Dev (20) 用 AVAudioPlayer 播放一个本地音频文件
iOS Dev (20) 用 AVAudioPlayer 播放一个本地音频文件
- 作者:CSDN 大锐哥
- 博客:http://blog.csdn.net/prevention
步骤
- 第一步:在 Project - TARGETS - Project名 - Build Phases - Link Binary With Libraries,添加 AVFoundation.framework。
- 第二步:创建一个 UIViewController 的子类 PlayerViewController。
- 第三步:在 PlayerViewController 中添加一个属性 AVAudioPlayer。
- 第四步:在 PlayerViewController 的 viewDidLoad 方法中实现最主要的代码。
关键代码
.h
#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
@interface PlayViewController: UIViewController
@property (strong, nonatomic) AVAudioPlayer *player;
@end
.m
#import "PlayerViewController.h"
@interface PlayerViewController ()
@end
@implementation PlayerViewController
- (void) viewDidLoad
{
[super viewDidLoad];
AVAudioSession *session = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];
[audioSession setActive:YES error:nil];
NSString *audioPath = [[NSBundle mainBundle] pathForResource:@"rem" ofType:@"wav"];
NSURl *audioUrl = [NSURL fileURLWithPath:audioPath];
NSError *playerError;
_player = [[AVAudioPlayer alloc] initWithContentsOfURL:audioUrl error:&playerError];
if (_player === NULL)
{
NSLog(@"fail to play audio :(");
return;
}
[_player setNumberOfLoops:-1];
[_player setVolume:1];
[_player prepareToPlay];
[_player play];
}
- (void) didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
@end
几个重要的点:
- 必须要用 AVAudioSession,否则木有声音啊。
- 不要把 AVAudioPlayer 当做局部变量(具体说在这个例子中,不要在 viewDidLoad 中定义)。
- 要找好路径,这里用 mainBundle,不要搞错。
源码
http://download.csdn.net/detail/prevention/6816959
-
转载请注明来自:http://blog.csdn.net/prevention
iOS Dev (20) 用 AVAudioPlayer 播放一个本地音频文件的更多相关文章
- iOS Dev (21) 用 AVPlayer 播放一个本地音频文件
iOS Dev (21) 用 AVPlayer 播放一个本地音频文件 作者:CSDN 大锐哥 博客:http://blog.csdn.net/prevention 前言 这篇文章与上一篇极其相似,要注 ...
- iOS中音频的录制与播放(本地音频文件的播放)
iOS功能开发涉及到音频处理时,最常见的时进行录音,以及音频文件的播放.停止播放等的操作.在开发中还要避免同一个音频文件,或不同音频文件之间的处理,比如说正在播放A音频时,可以停止播放A音频,也可以播 ...
- iOS从零开始学习直播之音频1.播放本地音频文件
现在直播越来越火,俨然已经成为了下一个红海.作为一个资深码农(我只喜欢这样称呼自己,不喜欢别人这样称呼我),我必须赶上时代的潮流,开始研究视频直播.发现视屏直播类的文章上来就讲拉流.推流.采集.美 ...
- S3C2416裸机开发系列19_Fatfs播放录像wav音频文件
S3C2416裸机开发系列19 Fatfs播放录像wav音频文件 国际象棋男孩 1048272975 多媒体资源,一般都是以文件的形式存储在固化存储器中.Fatfs所支持的fat32为windo ...
- Android音频: 怎样使用AudioTrack播放一个WAV格式文件?
翻译 By Long Luo 原文链接:Android Audio: Play a WAV file on an AudioTrack 译者注: 1. 因为这是技术文章,所以有些词句使用原文,表达更准 ...
- python打开一个本地目录文件路径
os.path.abspath()os 模块为 python 语言标准库中的 os 模块包含普遍的操作系统功能.主要用于操作本地目录文件.path.abspath()方法用于获取当前路径下的文件. 比 ...
- web页面如何播放amr的音频文件
这个需求由来已久,公司的语音订单很多,每次客服都是从服务器down下语音来听.很不方便..于是我就上网扒拉看有么有什么web播放器能播放amr格式的音频文件,amr百度百科 总之找了很久.,,然后发现 ...
- EasyPlayerPro windows播放器本地音频播放音量控制实现
背景描述 作为一个播放器, 除了能播放视频和声音外,音量控制是绝对不能缺少的功能; 本文在音视频播放的基础上,增加对音量的控制: 实现流程 调用mixerGetDevCaps获取音频输出设备列表; 打 ...
- IOS音频1:之采用四种方式播放音频文件(一)AudioToolbox AVFoundation OpenAL AUDIO QUEUE
本文转载至 http://blog.csdn.net/u014011807/article/details/40187737 在本卷你可以学到什么? 采用四种方法设计应用于各种场合的音频播放器: 基于 ...
随机推荐
- windows 下查看端口占用命令
cmd netstat -ano
- css3 页面退出和进入的动画
@-webkit-keyframes slideIn { from { -webkit-transform: translate3d(100%,0,0); transform: translate3d ...
- a 标签
a标签成为块元素后,宽度会百分百撑开,但高度不会,需要加高度.
- 黑马程序员 1、C语言32个关键字整理分类
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------ C语言一共有32个关键字 一.数据类型关键字(共20个) A.基本数据类型(5个)void :声明 ...
- Js验证 :只能输入数字和小数点 验证是否是数字 js取float型小数点后两位
JS判断只能是数字和小数点 1.文本框只能输入数字代码(小数点也不能输入)<input onkeyup="this.value=this.value.replace(/\D/g,'') ...
- win7 Oracle 11g安装及安装中遇到的问题
根据自己的系统从oracle官方下载安装包,官方地址:http://www.oracle.com/index.html win7的oracle 11g 安装包(2个): http://223.20.2 ...
- X windows的底层实现机制
Qt在Linux上运行崩溃了,很可能的原因是对于X11机制的不了解.很可能是UI代码里面对窗口的操作不规范而导致Qt内部的BUG暴露出来.具体UI实现代码我也没有看.是别人维护的.打算今天去看下代码, ...
- grok 官方文档
<pre name="code" class="html">grok: 解析任意文本并构造它: Grok 是当前最好的方式在logstash 解析蹩 ...
- VS2008生成的程序无法在其它电脑上运行,提示系统无法执行指定的程序
经过一番查找,最给力的参考是 http://www.cnblogs.com/visoeclipse/archive/2010/02/27/1674866.html ------------------ ...
- Master Theorem
Master theorem provides a solution in asymptotic terms to solve time complexity problem of most divi ...