播放音频声音文件

iphone开发中播放声音文件主要使用AVAudioPlayer 类,它的功能非常强大支持播放音频的格式也非常的多,我们可以把它看成一个高级的音乐播放器,它支持的播放格式有

■ AAC

■ AMR(AdaptiveMulti-Rate, aformatforspeech)

■ ALAC(AppleLossless)

■ iLBC(internetLowBitrateCodec, anotherformatforspeech)

■ IMA4(IMA/ADPCM)

■ linearPCM(uncompressed)

■ µ-lawanda-law

■ MP3(MPEG-1audiolayer3

今天主要介绍一下播放mp3 .

AVAudioPlayer 是 AVFoundation.framework 中定义的一个类,所以使用要先在工程中引入AVFoundation.framework 如图所示点击”+”号将AVFoundation导入。

将音频文件放入资源文件夹中

下面我开始介绍代码中如何调用AVAudioPlayer 播放音频文件

声明类

//
//  playSoundViewController.h
//  playSound
//
//  Created by  宣雨松 on 11-7-10.
//  Copyright 2011年 __MyCompanyName__. All rights reserved.
//#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
@interface playSoundViewController : UIViewController {IBOutlet UIButton * playSound;//播放音乐  IBOutlet UIButton * playPause;//播放暂停  IBOutlet UIButton * playStop;//播放停止  //定义一个声音的播放器AVAudioPlayer *player;
}-(IBAction)playSoundPressed:(id)pressed;
-(IBAction)playPausePressed:(id)pressed;
-(IBAction)playStopPressed:(id)pressed;
@end

实现类

//
//  playSoundViewController.m
//  playSound
//
//  Created by  宣雨松 on 11-7-10.
//  Copyright 2011年 __MyCompanyName__. All rights reserved.
//#import "playSoundViewController.h"@implementation playSoundViewController- (void)dealloc
{[super dealloc];//程序的严谨性 在显示对象关闭后把相应的对象清空//时刻谨记[playSound release];[player release];
}- (void)didReceiveMemoryWarning
{// Releases the view if it doesn't have a superview.[super didReceiveMemoryWarning];// Release any cached data, images, etc that aren't in use.
}#pragma mark - View lifecycle// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad
{[super viewDidLoad];//在这里实现声音的播放代码//找到mp3在资源库中的路径 文件名称为sound 类型为mp3NSString *path = [[NSBundle mainBundle] pathForResource:@"sound" ofType:@"mp3"];//在这里判断以下是否能找到这个音乐文件if (path) {//从path路径中 加载播放器player = [[AVAudioPlayer alloc]initWithContentsOfURL:[[NSURL alloc]initFileURLWithPath:path]error:nil];//初始化播放器[player prepareToPlay];//设置播放循环次数,如果numberOfLoops为负数 音频文件就会一直循环播放下去player.numberOfLoops = -1;//设置音频音量 volume的取值范围在 0.0为最小 0.1为最大 可以根据自己的情况而设置player.volume = 0.5f;NSLog(@"播放加载");}}-(void)playSoundPressed:(id)pressed
{//点击按钮后开始播放音乐//当player有值的情况下并且没有在播放中 开始播放音乐if (player) {if (![player isPlaying]) {[player play];NSLog(@"播放开始");}}
}-(void)playPausePressed:(id)pressed
{//暂停播放声音if (player) {if ([player isPlaying]) {[player pause];NSLog(@"播放暂停");}}
}-(void)playStopPressed:(id)pressed
{//停止播放声音if (player) {if ([player isPlaying]) {[player stop];NSLog(@"播放停止");}}
}- (void)viewDidUnload
{[super viewDidUnload];// Release any retained subviews of the main view.// e.g. self.myOutlet = nil;
}- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{// Return YES for supported orientationsreturn (interfaceOrientation == UIInterfaceOrientationPortrait);
}@end

原文链接:http://blog.csdn.net/xys289187120/article/details/6595919

iPhone 播放音频声音文件相关推荐

  1. BlackBerry 10:Qt中使用OpenAL播放wav声音文件

    BlackBerry 10/PlayBook OS 2.0里面都内置OpenAL的类库,所以在程序中使用OpenAL类库播放声音是很方便的. BlackBerry 10开发者网站上提供的例子程序Cow ...

  2. C++播放音频mav文件和mp3文件

    更多语音提示资料,阅读:为自己的软件添加语音提示功能 实现了一个类,该类提供播放音频文件功能 获得音频文件路径: void PlayAudio::GetDataPath(string path, st ...

  3. MFC点击按钮发出声音_playsound_循环/单次播放_声音文件加入程序中

    在VC++的程序设计中,可以利用各种标准的资源,如位图,菜单,对话框等.同时VC++也允许用户自定义资源,因此我们可以将声音文件作为用户自定义资源加入程序资源文件中,经过编译连接生成EXE文件,实现无 ...

  4. windows播放wav声音文件--java播放wav完整demo

    有个新的需求,要java的windows应用发声音,原本说的只是使用蜂鸣器发声音,直接上代码: public static void main(String[] args) {Toolkit tool ...

  5. ios播放本地声音文件

    从一段代码里找到几个片段: #import <AVFoundation/AVFoundation.h> #import <AudioToolbox/AudioToolbox.h> ...

  6. python3播放本地mp3文件_python3播放mp3声音文件

    python3下播放声音可以使用pygame 安装pygame pip install pygame 直接上代码 import time import pygame file=r'D:\xxx.mp3 ...

  7. qt4.8+Phonon播放.wav声音文件

    本来打算使用QSound来播放声音文件,但是在Ubuntu(虚拟机)和Centos下都失败了,使用QSound::isAvailable()静态函数查看是否存在相应的音频设备,返回值均为false.后 ...

  8. Android录制声音文件(音频),并播放

    readme:1.这个demo中没有对多次点击同一个声音文件做详细处理,偶尔会有崩溃,用的时候需要注意.2.按住录音按钮录音过程中,只对竖直方向处理了一下,水平方向没写:3.没有做删除某个声音文件的操 ...

  9. wav文件 服务器失败,.wav存储在服务器上的声音文件在加载web应用程序时无法播放...

    这是我试图实现的场景:与Web应用程序存储在同一服务器上的声音,在客户端遇到条件时播放.当我在IDE中运行它并将webconfig更改为指向数据库所在的服务器时,它完美地工作.但是,当我部署并通过浏览 ...

最新文章

  1. js数组中indexOf/filter/forEach/map/reduce详解
  2. AIoT重磅报告:四大关键助力,AI+IoT重新定义未来的可能性
  3. 20145335 《信息安全系统设计基础》第2周学习总结
  4. 黑客都是使用哪些方法入侵我们电脑的
  5. hdfs 中chunk_HDFS读写流程
  6. 三角形外接圆圆心 算法 删改版
  7. c语言逻辑运算符意义,c语言逻辑运算符怎么理解?
  8. 数学模型(对各种模型以及应用范围做一个了解)
  9. Unity3D 显示FPS
  10. 添加w3c验证图片到网站
  11. 百家号不收录限流无推荐阅读为零抄袭的解决方法!
  12. subplots与figure函数参数解释说明以及简单的使用脚本实例
  13. 用python从gbff文件中提取cds序列
  14. linux lp命令,lp命令_Linux lp 命令用法详解:打印文件或修改排队的打印任务
  15. 求解矩阵A的满秩分解的一般方法
  16. pmp培训机构哪个比较好,求推荐?
  17. 什么是应用服务器,常用的应用服务器有哪些?
  18. 18:求N分之一序列前N项和
  19. C# 深入单例(回笼)
  20. 串行通信_SPI通讯协议

热门文章

  1. 奇怪的电梯(信息学奥赛一本通-T1360)
  2. 满足条件的数累加(信息学奥赛一本通-T1066)
  3. 信息学奥赛一本通C++语言——1093:计算多项式的值
  4. 7 CO配置-控制-一般控制-维护版本
  5. 日语学习-多邻国-饮食
  6. java super.start,java – 在字节码中确定哪里是super()方法调用所有构造函数必须在JVM上执行...
  7. python绘制糖葫芦_python简单爬虫(一)
  8. rbac权限管理5张表_Laravel5实现RBAC权限管理
  9. PyTorch:VGG16简单入门版
  10. self-attention的作用,理解