本文转自:http://plter.com/?p=354

本文演示如何使用Objective-C开发播放mp3文件的iPhone程序,当然本文目的不是要让你做一个iPhone版的播放器,因为这根本用不着你,iPod程序已经很好了。本文的目的是要让你能够在自己的游戏中使用音乐。

效果图如下:

1.打开xcode,创建一个名为TalkingDemo的View-based Application类型的iPhone程序。

2.如果要使用播放声音的功能,一定要引入AVFoundation库,右击项目中的Frameworkds目录,从菜单中选择Add->Existing Frameworkd,下图所示:

此操作将打开浏览库的对话框,我们选择名为AVFoundation.framework的库,并把它添加进来。

3.修改TalkingDemoViewController.h文件内容如下:

#import <UIKit/UIKit.h> 
#import <AVFoundation/AVFoundation.h>

@interface TalkingDemoViewController : UIViewController { 
    AVAudioPlayer *player;

}

-(IBAction)sayTalking:(id)sender;

@end

4.双击TalkingDemoViewController.xib文件打开InterfaceBuilder,拖入一个Round Rect Button组件,并将这个组件分别绑定为btn(如果你还不会绑定InterfaceBuilder组件到Objective-C代码,请看 iPhone按钮的使用),然后将按钮的标签修改为“播放音乐”

5.修改TalkingDemoViewController.m文件的内容如下所示:

#import "TalkingDemoViewController.h"

@implementation TalkingDemoViewController 
// Implement viewDidLoad to do additiona    l setup after loading the view, typically from a nib. 
- (void)viewDidLoad { 
    if (player) { 
        [player release]; 
    } 
    NSString *soundPath=[[NSBundle mainBundle] pathForResource:@"intro" ofType:@"caf"]; 
    NSURL *soundUrl=[[NSURL alloc] initFileURLWithPath:soundPath]; 
    player=[[AVAudioPlayer alloc] initWithContentsOfURL:soundUrl error:nil]; 
    [player prepareToPlay]; 
    [soundUrl release]; 
    [super viewDidLoad]; 
}

-(IBAction)sayTalking:(id)sender 

    NSLog(@"播放声音"); 
    [player play];


// Override to allow orientations other than the default portrait orientation. 
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    return YES; 
}

- (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. 
}

- (void)viewDidUnload { 
    // Release any retained subviews of the main view. 
    // e.g. self.myOutlet = nil; 
}

- (void)dealloc { 
    [player release]; 
    [super dealloc]; 
}

@end

6.此代码将播放一个名为 “intro.caf”的文件,请将这个文件加入到资源文件夹(Resources)中.

7.按Command+R运行此程序,尝试点击“播放音乐”按钮,就可以听到播放的声音了。

源代码:http://easymorse-android.googlecode.com/svn/trunk/TalkingDemo/

iPhone播放声音相关推荐

  1. iPhone播放声音文件的例子

    本文演示如何使用Objective-C开发播放mp3文件的iPhone程序,当然本文目的不是要让你做一个iPhone版的播放器,因为这根本用不着你,iPod程序已经很好了.本文的目的是要让你能够在自己 ...

  2. iPhone中播放声音

    引入SoundEffect.h和SoundEffect.m两个文件 NSBundle *mainBundle = [NSBundle mainBundle]; UIButton *soundChick ...

  3. iPhone 应用开发:音频播放

    在 iPhone 应用或者是游戏的开发过程中,对声音的支持是必不可少的.没有音效的软件是残缺的,用户体验也会大打折扣,下面是自己对iPhone音频的一点总结. iPhone OS 音频分类: (1)H ...

  4. iPhone开发的一些小技巧

    [转载]iPhone开发的一些小技巧 (2011-10-29 20:13:02) 转载原文 标签: 转载 原文地址:iPhone开发的一些小技巧作者:哈哈 一,修改状态栏: 1.加入[[UIAppli ...

  5. 【Iphone 游戏开发】游戏引擎剖析

    为什么80%的码农都做不了架构师?>>>     李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame. ...

  6. 如何更改您的iPhone铃声

    The problem with having a popular phone like an iPhone is that, by default, everyone has the same ri ...

  7. getbean方法找不到bean_iphone手机静音找不到怎么办 iphone静音找不到解决方法【图文】...

    一个网友给小编留言,询问:"我的iphone调静音了现在找不到,有什么工具能找到"这一个问题,因此,在今天的iPhone使用教程,小编就给大家讲解一下具体的解决方法,那么,ipho ...

  8. iPhone 播放音频声音文件

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

  9. fullcalendar next 不变化_让不懂编程的人爱上iPhone开发(2017秋iOS11+Swift4+Xcode9版)-第3篇...

    休息好了吗?欢迎回来继续我们的iPhone开发学习之旅. 应用的工作原理 在继续学习之前,让我们来了解一下一个应用究竟是如何工作的? 一个应用通常是由对象组成的,而这些对象之间可以相互发送消息.在我们 ...

最新文章

  1. 一起谈.NET技术,C#创建不规则窗体的几种方式
  2. 004-流程控制和类型转换
  3. 华为畅享max有没有人脸识别_谁说千元机就要将就?华为畅享Z全面测评:5G、屏幕、拍照无短板...
  4. 有指针为何还要STL迭代器
  5. [linux]ps结果计算行数
  6. 3. 无重复字符的最长子串 golang
  7. 开发简化版NgFor
  8. mysql作为tidb从库配置
  9. kalman filter java_Kalman filters(一)
  10. 系统学习深度学习(十九)--GoogLeNetV1,V2,V3
  11. Nginx源码阅读 --- nginx evnet事件接受请求时,函数执行过程
  12. iOS开发:报错The sandbox is not in sync with the Podfile.lock. Run ‘pod install‘ …的解决方法
  13. 怎么理解java面向对象
  14. 称上的重量怎么用计算机算出钱,HUBA材料重量计算器(材料称重计算助手)V1.3 最新版...
  15. kettle 创建脚本文件
  16. 最全电商分类信息(08)
  17. 设计模式之代理模式(第二篇)
  18. linux HID驱动分析
  19. oracle cosh 函数,oracle cosh exp floor in log等函数
  20. 现在为什么很多企业都在使用终端安全管理系统?有什么好处...

热门文章

  1. Spring Cloud学习笔记(三)Eureka 服务的注册与发现
  2. 荣耀V9可以升级鸿蒙吗,荣耀手机能升级鸿蒙系统吗,支持鸿蒙系统的荣耀手机有哪些...
  3. java学习input_1
  4. 如何在CentOS中屏蔽恶意爆破IP (CentOS8.x)
  5. 计算机网络题目:一个网络的IP地址为193.12.5.0/24。请写出这个网络的直接广播地址、受限广拍地址与这个网络上的特定主机地址,回送地址
  6. 劳务报酬个人所得税JAVA计算
  7. 什么时候用 assertion(断言)?
  8. python核心基础笔记(自总结,根据个人看书思路来写,收藏起来没事看看)
  9. 职场 | 阿里P9谈程序员的“青春饭”
  10. pixel显示网络无法连接解决