播放声音可以通过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 播放声音文件的更多相关文章

  1. iOS应用文件夹

    IOS5多了一个比较重要的功能iCloud,但是同时也出现一个问题,很多的APP都把很大量的数据存在APP底下的Documents(/Documents )文件夹里面,这样苹果会reject掉你的AP ...

  2. iOS: Crash文件解析(一)

    iOS Crash文件的解析(一) 开发程序的过程中不管我们已经如何小心,总是会在不经意间遇到程序闪退.脑补一下当你在一群人面前自信的拿着你的App做功能预演的时候,流畅的操作被无情地Crash打断. ...

  3. iOS 获取文件的目录路径的几种方法 [转]

    iOS 获取文件的目录路径的几种方法 2 years ago davidzhang iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. d ...

  4. ios播放声音中断后台音乐的问题

      今天遇到一个ios播放声音中断后台音乐的问题,在我的app中如果调用AVAudioSession 播放完声音,后台的qq音乐偶尔不能恢复,而网易云音乐一次都不能恢复播放,研究了一下AVAudioS ...

  5. iOS Crash文件的解析

    iOS Crash文件的解析 开发程序的过程中不管我们已经如何小心,总是会在不经意间遇到程序闪退.脑补一下当你在一群人面前自信的拿着你的App做功能预演的时候,流畅的操作被无情地Crash打断.联想起 ...

  6. iOS: 获取文件路径

    iOS: 获取文件路径   // 例如 - (NSString *)applicationDocumentsDirectory { return [NSSearchPathForDirectories ...

  7. MFC使用Windows media player播放声音文件

    一.在需要播放声音的资源上添加控件 资源视图  . 选择添加控件的资源(如对话框).右键单击.插入ActiveX控件.调整你需要的控件属性并记录ID 二.在项目中添加播放声音的类 点击菜单中的项目.添 ...

  8. iOS实现文件上传功能模块

    iOS实现文件上传功能,首先要知道的是,上传到服务器的数据格式,一般采用HTTP文件上传协议.如下图 如图所示,只要设置好了HTTP的协议格式,就可以实现文件上传功能. 代码如下: //图片上传模块 ...

  9. ios本地文件内容读取,.json .plist 文件读写

    ios本地文件内容读取,.json .plist 文件读写 本地文件.json .plist文件是较为常用的存储本地数据的文件,对这些文件的操作也是一种常用的基础. 本文同时提供初始化变量的比较标准的 ...

随机推荐

  1. Why doesn't Genymotion run on Windows 10?

    To date, VirtualBox is not yet fully compatible with Windows 10. As Genymotion relies on the use of ...

  2. hadoop(四):配置参数

    hadoop参数配置,主要是配置 core-site.xml,hdfs-site.xml,mapred-site.xml 三个配置文件,core-site.xml是全局配置,hdfs-site.xml ...

  3. Hibernate入门学习(二)

    本文主要讲如何搭建Hibernate开发环境和简单实例. 一.搭建开发测试环境 1.1 下载Hibernate 从Hibernate官方网站上下载最新的Hibernate ORM,从Hibernate ...

  4. Object-C中需要注意的小细节

    --------------------------------------------关于命名------------------------------------------------- 1. ...

  5. (转)Sqlite 管理工具 SQLiteDeveloper及破解

    本文转载自:http://www.cnblogs.com/error404/archive/2012/03/21/2409898.html 功能特点 表结构设计,数据维护,ddl生成,加密数据库支持, ...

  6. 网页颜色RGB记法和16进制记法转化方法

    A=>10,B=>11,C=>12,D=>13,E=>14,F=>15 看一个例子: 254,112,85 255/16 等于 15 余 14 那么它对应的应该是F ...

  7. 文件Copy和文件夹Copy

    文件Copy和文件夹Copy using System.Collections.Generic; using System.Linq; using System.Text; using System. ...

  8. Env:Cscope安装与配置

    1. 介绍 Cscope是类似于ctags一样的工具,但可认为他是ctags的增强版. 2. 安装 sudo apt-get install cscope 通过源码安装,参照http://blog.c ...

  9. php没有开启Memcache扩展类时

    模拟PHP Memcache 类.当服务器没有开启Memcache扩展的时候.可以采用本类使用方法class_exists('Memcache') or include './Memcache.cla ...

  10. mvc 权限管理 demo

    http://blog.csdn.net/zht666/article/details/8529646 new http://www.cnblogs.com/fengxing/archive/2012 ...