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

转载于:https://www.cnblogs.com/riasky/p/3509130.html

iOS Dev (21) 用 AVPlayer 播放一个本地音频文件相关推荐

  1. iOS 用 AVPlayer 播放一个本地音频文件

    iOS 用 AVPlayer 播放一个本地音频文件 步骤 第一步:在 Project - TARGETS - Project名 - Build Phases - Link Binary With Li ...

  2. python播放wav文件_python3 写一个WAV音频文件播放器的代码

    环境:ubuntu 16.04 python3.5 pycharm 包 : wave pyaudio sys 上代码:AudioPlayer.py # coding:utf-8 # author:ki ...

  3. Windows Phone 8初学者开发—第21部分:永久保存Wav音频文件

    第21部分:永久保存Wav音频文件 原文地址:http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Begi ...

  4. Mediaplay:Android后台同时播放多个音频文件第一弹:读取并播放音频文件

    Mediaplay:Android后台同时播放多个音频文件 设备/引擎:Mac(11.6)/cocos 开发工具:Android studio(4.1.2) 开发语言:java/c++ 开发需求:an ...

  5. html怎么播放下一首,javascript – HTML5音频播放列表 – 第一个结束后如何播放第二个音频文件?...

    这是一个JSLinted,不引人注目的 Javascript示例,演示如何处理和使用结束的 mediaevent.在您的特定情况下,您将触发在您的结束事件处理程序中播放第二个音频文件. 单击播放列表中 ...

  6. java播放mp3格式音频文件

    下载第三方jar包,网址:http://www.javazoom.net/javalayer/javalayer.html 下载完成之后解压提取jl1.0.0.1.jar 将jl1.0.0.1.jar ...

  7. SDM450+android8.1播放左声道音频文件和右声道音频文件,左右喇叭都有声音问题

    正常的现象是播放左声道音频文件,左喇叭播放:播放右声道音频文件,右喇叭播放,但问题是不管播放左还是右音频文件,左右喇叭都有播放 原理图设计 经过排查,原来是当时产品为了兼容,hardware\qcom ...

  8. Mediaplay:Android后台同时播放多个音频文件第二弹:控制音频音量

    Mediaplay:Android后台同时播放多个音频文件 设备/引擎:Mac(11.6)/cocos 开发工具:Android studio(4.1.2) 开发语言:java/c++ 开发需求:an ...

  9. python打开一个本地目录文件路径

    os.path.abspath() os 模块为 python 语言标准库中的 os 模块包含普遍的操作系统功能.主要用于操作本地目录文件.path.abspath()方法用于获取当前路径下的文件. ...

最新文章

  1. 《人工智能北京共识》发布, 智源研究院成立伦理与安全研究中心
  2. Linux内核分析--操作系统是如何工作的
  3. 当前默认服务器维护尚未完成,HTTP 1.1状态代码及其含义说明
  4. 博士论文:教你如何给女朋友送礼物
  5. ROS Rviz 显示地图 Python
  6. java排错_java排错之CPU高
  7. 柱坐标系下的流体力学控制方程组的微分形式的推导
  8. -stdcall详解
  9. Java 基于JavaMail实现向QQ邮箱发送邮件(未测试)
  10. 谈谈区块链正经的商用场景!
  11. linux 查看已安装软件
  12. 怎么压缩照片内存大小?网上如何压缩照片?
  13. win11华硕bios更新失败问题
  14. oracle 关键字 enable,Oracle之表示约束状态的关键字Enable/Disable/Validate/Novalidate
  15. 学生管理系统——C语言版
  16. 中文书籍对《人月神话》的引用(161-170本):卓有成效的CIO、核心测试过程(20211107更新)
  17. JavaScript经典面试题 —— 解决循环打印问题
  18. 关于避免审查元素时,修改数据和提交数据,造成恶意审查修改的方法总结
  19. 【Zookeeper】zookeeper not connected
  20. 双目立体视觉之立体匹配算法

热门文章

  1. 如何使用jQuery和CSS创建万花筒
  2. chatGPT AI绘画
  3. visio双线方框怎么画_visio2013画流程图怎么操作?|visio2013专业版画流程图的方法...
  4. 初学AD9画PCB板的拦路虎
  5. java椭圆写字距离_编java代码求椭圆和长方形的面积和周长.
  6. 判断两条直线是否相交c语言,计算几何-两条线段是否相交(三种算法)
  7. 如何用java实现发邮件功能
  8. 一小部分机器学习算法小结: 优化算法、逻辑回归、支持向量机、决策树、集成算法、Word2Vec等...
  9. 西安航天民芯电子 推出原厂原装MT36291 SOT23-6 PIN对PIN兼替FP6291LR-G1 MT3608
  10. mysql 命令_常见的MySQL命令大全second