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类不能播放网 ...
随机推荐
- 用django框架做自己的blog
说明:我的系统环境是ubuntu 14.10版本的,整理这篇博客,主要是自己记性太不好了,老忘东西,教训一下自己.哈哈 参考文章 createing blog 1,part-1-creating-bl ...
- 【CodeForces】576 B. Invariance of Tree
[题目]B. Invariance of Tree [题意]给定n个数的置换,要求使n个点连成1棵树,满足u,v有边当且仅当a[u],a[v]有边,求一种方案或无解.n<=10^5. [算法]数 ...
- Razor使用Parse()时最好指定“缓存名”
为什么? 本文的标题,明显有一种提醒的口吻. 从18年的生活经验看,如果想提醒人要怎么办,不要怎么办. 最好说明原因.那么小编开始说明原因喽. 哦对,说原因之前,先说交代一下背景,一句话 在非mvc下 ...
- Oracle数据库语句
Oracle数据库语句 ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CHEC ...
- C# 操作资源文件
(1)首先引用这两个命名空间 (2)两种方式调用资源文件中的内容 private void button2_Click(object sender, EventArgs e) { //通过Resour ...
- python3爬虫.3.下载网页图片
目标,豆瓣读书, 下载页面书籍图片. import urllib.request import re #使用正则表达式 def getJpg(date): jpgList = re.findall(r ...
- Mysql储存过程1: 设置结束符与储存过程创建
#显示储存过程 show procedure status; #设置结束符 delimiter $; #创建储存过程 create procedure procedure_name() begin - ...
- 在Nginx服务器上屏蔽IP
采集和防止采集是一个经久不息的话题,一方面都想搞别人的东西,另一方面不想自己的东西被别人搞走. 本文介绍如何利用nginx屏蔽ip来实现防止采集,当然也可以通过iptable来实现. 1.查找要屏蔽的 ...
- selenium只打开一个浏览器窗口
from selenium.webdriver import Remote from selenium.webdriver.chrome import options from selenium.co ...
- Eclipse java项目转换为web项目
1.打开.project文件,并修改文件, 修改如下: 找到:<natures> </natures>代码段,在代码段中加入如下内容并保存: <nature>org ...