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类不能播放网 ...
随机推荐
- 5W次单点修改,求最长的连续上升子序列 HDU 3308
题目大意:给你n个数,m个操作. 有两种操作: 1.U x y 将数组第x位变为y 2. Q x y 问数组第x位到第y位连续最长子序列的长度. 对于每次询问,输出连续最长子序列的长度 思路:用线段树 ...
- Python学习笔记(三十一)正则表达式
---恢复内容开始--- 摘抄自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 ...
- 【BZOJ】2337: [HNOI2011]XOR和路径 期望+高斯消元
[题意]给定n个点m条边的带边权无向连通图(有重边和自环),在每个点随机向周围走一步,求1到n的期望路径异或值.n<=100,wi<=10^9. [算法]期望+高斯消元 [题解]首先异或不 ...
- Django中的MiddleWare中间件
1. middleware简介 Django的middleware的概念相当于SSH框架里面的filter的概念.中间键的作用就是对所有的request,在request前,和在response后做一 ...
- 美团实习Java岗面经,已拿offer
作者:icysnowgx 链接:https://www.nowcoder.com/discuss/71954?type=2&order=3&pos=10&page=1 来源:牛 ...
- RTM,RTW,GA等软件版本号详解
一直以来,对于新手而言,软件的版本号都是个比较困扰人的问题,什么Beta.RC,再来个RTM.RTW....头大了吧?RTM和RTW有什么区别?借此机会,就给大家介绍一下这方面的小知识吧. 1.软件开 ...
- curl: (6) Couldn’t resolve host ‘www.ttlsa.com’【转】
上周, 部分站点出现Couldn't resolve host.....问题, 导致公司所有走api的程序都无法正常使用(系统redhat 6.3的都出现问题, redhat 5一切OK). 最后解 ...
- 挂载cifs报错mount error(13): Permission denied(域账号访问时报错)
Linux挂载Windows共享时,报以下错误: mount error(13): Permission deniedRefer to the mount.cifs(8) manual page (e ...
- nginx升级至1.12.1版本
nginx升级至1.12.1 编号 名称 说明 1 nginx-1.12.1.tar.gz nginx安装程序 2 nginx_upstream_check_module-master.zip 实现后 ...
- 实现在点击asp:button按钮后,不刷新当前页面
方法1:return false <asp:Button ID="Button1" runat="server" Text="Button&qu ...