iOS Dev (21) 用 AVPlayer 播放一个本地音频文件
来源:互联网 发布:ed hardy正品网络购买 编辑:程序博客网 时间:2024/05/22 13:09
iOS Dev (21) 用 AVPlayer 播放一个本地音频文件
- 作者:CSDN 大锐哥
- 博客:http://blog.csdn.net/prevention
前言
这篇文章与上一篇极其相似,要注意别看错。
步骤
- 第一步:在 Project - TARGETS - Project名 - Build Phases - Link Binary With Libraries,添加 AVFoundation.framework。
- 第二步:创建一个 UIViewController 的子类 PlayerViewController。
- 第三步:在 PlayerViewController 中添加一个属性 AVPlayer。
- 第四步:在 PlayerViewController 的 viewDidLoad 方法中实现最主要的代码。
关键代码
.h
#import <UIKit/UIKit.h>#import <AVFoundation/AVFoundation.h>@interface PlayViewController: UIViewController@property (strong, nonatomic) AVPlayer *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 = [[AVPlayer alloc] initWithContentsOfURL:audioUrl error:&playerError]; if (_player === NULL) { NSLog(@"fail to play audio :("); return; } [_player setVolume:1]; [_player play];}- (void) didReceiveMemoryWarning{ [super didReceiveMemoryWarning];}@end
几个重要的点:
- 必须要用 AVAudioSession,否则木有声音啊。
- 不要把 AVPlayer 当做局部变量(具体说在这个例子中,不要在 viewDidLoad 中定义)。
- 要找好路径,这里用 mainBundle,不要搞错。
源码
http://download.csdn.net/detail/prevention/6817053
-
转载请注明来自:http://blog.csdn.net/prevention
0 0
- iOS Dev (21) 用 AVPlayer 播放一个本地音频文件
- iOS 用 AVPlayer 播放一个本地音频文件
- iOS Dev (20) 用 AVAudioPlayer 播放一个本地音频文件
- iOS开发 - 用AVPlayer封装一个播放器
- iOS开发 - 用AVPlayer封装一个视频播放器
- iOS扫描本地音频文件及后台播放
- IOS-播放沙盒目录及本地音频文件
- iOS从零开始学习直播之音频1.播放本地音频文件
- 播放音频文件ios
- ios播放音频文件
- ios播放音频文件
- DirectMusic播放一个音频文件
- iOS 视频播放 MediaPlayer AVPlayer
- iOS 开发:AVPlayer播放视频
- iOS AVPlayer音频播放应用
- iOS视频播放之AVPlayer
- iOS AVPlayer - swift视频播放
- iOS AVPlayer播放器 简介
- 动态加载指令问题
- Unicode编码,以及实现方式UTF8的实现方式
- 单独渲染出来像瀑布流这样的效果
- uva 702 The Vindictive Coach (DP)
- 构建自己的AngularJS,第一部分:Scope和Digest
- iOS Dev (21) 用 AVPlayer 播放一个本地音频文件
- sqlplus与sqlplusw
- java nio为什么是通道(三): 网络Channel
- [LeetCode] Valid Sudoku
- AngularJS:何时应该使用Directive、Controller、Service?
- ReadProcessMemory与WriteProcessMemory用例分析
- 多层嵌套的拖动排序组件
- Windows安全描述符SECURITY_DESCRIPTOR
- Android---Matrix类的使用