iOS 9音频应用播放音频之第一个ios9音频实例2
iOS 9音频应用播放音频之第一个ios9音频实例2
ios9音频应用关联
iOS9音频应用中对于在主视图上添加的视图或控件,在使用它们时必须要与插座变量进行关联。ios9插座变量其实就是为主视图中的视图或者控件起的别名,类似于实例化的对象。将主ios9视图中的Play Button按钮控件与插座变量playButton进行关联。具体的操作步骤如下:
(1)使用设置编辑器的三个视图方式的图标,如图2.14所示,将Xcode的界面调整为如图2.15所示的效果。

图2.14 编辑器的三个视图方式的图标

图2.15 调整界面
(2)按住Ctrl键拖动主视图中的Play Button对象,这时会出现一个蓝色的线条,将这个蓝色的线条拖动到ViewController.swift文件中,如图2.16所示。

图2.16 出现蓝色的线条
(3)松开鼠标后,会弹出一个对话框,如图2.17所示。

图2.17 弹出对话框
(4)在Name文本框中输入名称playButton,如图2.18所示。

图2.18 输入名称
注意:Name这一项输入的名称是任意的。
(5)选择Connect按钮,关闭对话框,这时在ViewController.swift文件中自动生成一行代码,如图2.19所示。

图2.19 操作变量
注意:生成的代码被叫做插座变量。
将主视图中的More Settings View视图与插座变量moreSettingsView进行关联。将主视图中的Play Button按钮控件与动作playAudio进行关联(动作其实就是方法,一般使用在控件中,如按钮,开关、滑块等)。具体的操作步骤如下:
(1)使用设置编辑器的三个视图方式的图标,将Xcode的界面调整为和图2.15一样的效果。
(2)按住Ctrl键拖动主视图中的Play Button对象,这时会出现一个蓝色的线条,将这个蓝色的线条拖动到ViewController.swift文件中,如图2.20所示。

图2.20 按住Ctrl键拖动界面中的按钮对象
(3)松开鼠标后,会弹出声明关联插座变量一起进行的对话框。将Connection选项设置为Action,表示关联的是一个动作;将Name设置为playAudio,表示关联的动作名为playAudio,如图2.21所示。

图2.21 填写对话框
(4)将Connection选项设置为Action,表示关联的是一个动作;将Name设置为playAudio,表示关联的动作名为playAudio,如图2.22所示。

图2.22 动作
此时,当用户轻拍Play Button按钮后,一个叫playAudio()的方法就会被触发。
iOS 9音频应用功能代码
最后就是播放音频文件的代码实现部分,也就是需要使用到在2.1节中所讲解的内容。打开ViewController.swift文件,编写代码,此代码实现音频播放的功能。代码如下:
- import UIKit
- import AVFoundation
- class ViewController: UIViewController {
- @IBOutlet weak var playButton: UIButton!
- @IBOutlet weak var moreSettingsView: UIView!
- var audioEffect:AVAudioPlayer?=nil
- override func viewDidLoad() {
- super.viewDidLoad()
- // Do any additional setup after loading the view, typically from a nib.
- moreSettingsView.hidden=true
- let path=NSBundle.mainBundle().pathForResource("Liekkas", ofType: "mp3")
- let pathURL=NSURL(fileURLWithPath: path!)
- //打开音频文件
- do {
- audioEffect=try AVAudioPlayer(contentsOfURL: pathURL)
- } catch _ {
- audioEffect = nil
- }
- audioEffect?.prepareToPlay() //添加音频文件到缓存中
- }
- @IBAction func playAudio(sender: AnyObject) {
- //没有播放
- audioEffect?.play() //播放声音
- playButton.setBackgroundImage(UIImage(named: "pauseImage.png"), forState: UIControlState.Normal)
- }
- override func didReceiveMemoryWarning() {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
- }
此时运行程序,会看到如图2.23所示的效果。当开发者轻拍开始按钮,此时音频文件就会进行播放,并且开始按钮变为了暂停按钮,如图2.24所示。

图2.23 初始状态 图2.24 播放音乐
本文选自:iOS 9音频应用开发基础教程大学霸内部资料,转载请注明出处,尊重技术尊重IT人!
iOS 9音频应用播放音频之第一个ios9音频实例2的更多相关文章
- iOS 9音频应用播放音频之第一个ios9音频实例
iOS 9音频应用播放音频之第一个ios9音频实例 第一个ios9音频实例 为了让开发者可以对上面的内容有更加深入的了解,本节将实现播放音频的第一个实例.在此实例中会涉及到项目的创建.界面设计.关联以 ...
- iOS开发拓展篇—封装音频文件播放工具类
iOS开发拓展篇—封装音频文件播放工具类 一.简单说明 1.关于音乐播放的简单说明 (1)音乐播放用到一个叫做AVAudioPlayer的类 (2)AVAudioPlayer常用方法 加载音乐文件 - ...
- iOS Dev (20) 用 AVAudioPlayer 播放一个本地音频文件
iOS Dev (20) 用 AVAudioPlayer 播放一个本地音频文件 作者:CSDN 大锐哥 博客:http://blog.csdn.net/prevention 步骤 第一步:在 Proj ...
- iOS Dev (21) 用 AVPlayer 播放一个本地音频文件
iOS Dev (21) 用 AVPlayer 播放一个本地音频文件 作者:CSDN 大锐哥 博客:http://blog.csdn.net/prevention 前言 这篇文章与上一篇极其相似,要注 ...
- iOS 9音频应用播放音频之iOS 9音频播放进度
iOS 9音频应用播放音频之iOS 9音频播放进度 iOS 9音频应用开发播放进度 音频文件在播放后经过了多久以及还有多久才可以播放完毕,想必是用户所关注的问题.为了解决这一问题,在很多的音乐播放器中 ...
- iOS 9音频应用播放音频之控制播放速度
iOS 9音频应用播放音频之控制播放速度 iOS 9音频控制播放速度 iOS9音频文件在播放时是以一定的速度进行的.这个速度是可以进行更改的,从而实现iOS9音频文件的快速播放和慢速播放功能.要实现i ...
- iOS 9音频应用播放音频之音量设置与声道设置
iOS 9音频应用播放音频之音量设置与声道设置 iOS 9音频应用音量设置 音量又称响度.音强,是指人耳对所听到的声音大小强弱的主观感受,其客观评价尺度是声音的振幅大小.在iOS 9音频应用的应用中, ...
- iOS 9音频应用播放音频之播放控制暂停停止前进后退的设置
iOS 9音频应用播放音频之播放控制暂停停止前进后退的设置 ios9音频应用播放控制 在“iOS 9音频应用播放音频之ios9音频基本功能”一文可以看到AVAudioPlayer类有很多的属性以及方法 ...
- iOS 9音频应用播放音频之ios9音频基本功能
iOS 9音频应用播放音频之ios9音频基本功能 在iOS 9音频应用开发中最为简单和常用的就是AVFoundation框架中的AVAudioPlayer类.虽然AVAudioPlayer类不能播放网 ...
随机推荐
- python学习笔记(十二)之函数
牛刀小试: 定义一个无参函数 >>> def myFirstFunc(): ... print("Hello python") ... print("h ...
- 机器学习-kNN-数据归一化
一.为什么需要数据归一化 不同数据之间因为单位不同,导致数值差距十分大,容易导致预测结果被某项数据主导,所以需要进行数据的归一化. 解决方案:将所有数据映射到同一尺度 二.最值归一化 normaliz ...
- python初步学习-面向对象之类(一)
python 面向对象 python 从设计之初就已经是一门面向对象的语言,正因为如此,在python中创建一个类和对象是很容易的. 对象对象奇数简介 类(Class): 用于描述具有相同的属性和方法 ...
- 2017 WebStorm 激活码 更新 Pycharm同样可用
[有效时间到2017 年 11月 23日] BIG3CLIK6F-eyJsaWNlbnNlSWQiOiJCSUczQ0xJSzZGIiwibGljZW5zZWVOYW1lIjoibGFuIHl1Iiw ...
- git命令大全【转】
转自:http://www.jqhtml.com/8235.html 初始化本地git仓库(创建新仓库) git init 配置用户名 git config --global user.name &q ...
- 用C#实现对MSSqlServer数据库的增删改查---Server层(WaterLevelRecordServer.cs、DeviceRecordServer.cs)
抛开现实的残酷与无奈,对技术孜孜不倦的追求,从专注到执着,从疯狂到忘我,始终坚信代码可以改变世界,更能改变自己的人生. WaterLevelRecordServer.cs using System; ...
- caffe Python API 之上卷积层(Deconvolution)
对于convolution: output = (input + 2 * p - k) / s + 1; 对于deconvolution: output = (input - 1) * s + k ...
- Mybatis的初步使用
MyBatis 是当下最流行的持久层框架,也是ORM框架,本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google ...
- [ python ] 全局和局部作用域变量的引用
全局与局部变量的引用 (a)locals(b)globals 这里还需要在补充2个关键字一起比较学习,关键字:(c)nonlocal(d)global locals 和 globals locals: ...
- AspNet Core 发布到Linux系统和发布IIS 注意项
AspNet Core 发布到Linux系统和发布IIS 注意项 1.发布时需要注意的 2.Windows Server 2012 api-ms-win-crt-runtime-l1-1-0.dll ...