iOS 9音频应用播放音频之控制播放速度
2015-12-30 00:00
706 查看
摘要: iOS 9音频应用播放音频之控制播放速度
var rate: Float
其中,该属性设置的值为浮点类型,范围在0.5到2.0之间。如果该属性的值设置为1.0表示正常播放,它也是默认值。2.0表示以最快的速度进行播放,0.5表示以最慢的速度进行播放。
注意:如果开发者要iOS 9音频实现播放速度的改变则必须要对enableRate属性进行设置,该属性的功能是否允许改变播放速度。其语法形式如下:
var enableRate: Bool
其中,该属性设置的值为布尔类型。将值为true时,表示允许改变播放速度,反之,则不运行改变播放速度。
【示例2-6】以下将以第一个iOS 9音频实例为基础,让用户可以控制音频文件的播放速度。具体的操作步骤如下:
(1)将主视图中的Rate Text Field文本框与插座变量rateTextField进行关联。
(2)将主视图中的Rate Text Field文本框与动作setRate进行关联。
(3)右击主视图中的Rate Text Field文本框,在弹出的Rate Text Field对话框,如图2.27所示。
(4)选择Sent Events下的Did End On Exit选项,将此选项和dock中的View Controller进行关联,如图2.28所示。
(5)Did End On Exit选项和dock中的View Controller进行关联后,会弹出当前声明的方法,如图2.29所示。
图2.28 iOS 9音频关联
(6)选择其中的setRate:方法,此时Did End On Exit就与setRate:方法进行关联了,如图2.30所示。
图2.29 iOS 9音频弹出方法对话框 图2.30 iOS 9音频关联后的效果
(7)打开ViewController.swift文件,编写代码,实现播放速度的控制。代码如下:
@IBAction func setRate(sender: AnyObject) {
rateTextField.resignFirstResponder() //关闭键盘
//判断音频文件是否没有开始播放
if(audioEffect!.playing==false && audioEffect?.currentTime == 0.0){
//没有开始播放
audioEffect?.enableRate=true //允许改变播放速度
let rateValue=NSString(string: rateTextField.text!).floatValue
audioEffect?.rate=rateValue //设置播放速度
hideMoreSettingsView()
}else{
//开始播放
let alertController = UIAlertController(title: "提示", message: "音乐开已经播放,设置无效", preferredStyle: UIAlertControllerStyle.Alert)
//关闭更多设置项
let action = UIAlertAction(title: "知道了", style: UIAlertActionStyle.Default){
(action: UIAlertAction!) -> Void in
self.hideMoreSettingsView()
}
alertController.addAction(action)
self.presentViewController(alertController, animated: true, completion: nil)
}
}
此时运行程序,在出现的模拟器界面中轻拍更多按钮,弹出更多设置项,在播放速度对应的文本框中输入数字,按下return键后,退出更多设置项。轻拍播放按钮,音频文件就会进行播放了。此时音频文件播放的速度与用户输入的数字有关。
注意:如果开发者在iOS 9音频文件播放一段时间后轻拍更多按钮,在弹出的更多设置项中输入播放速度,此时输入的速度是无效的,它不可以控制音频文件的播放速度,所以在按下return键后,会弹出“iOS9音乐已经播放,设置无效”的警告视图,如图2.31所示。
图2.31 iOS 9音频警告视图
本文选自:iOS 9音频应用开发基础教程大学霸内部资料,转载请注明出处,尊重技术尊重IT人!
iOS 9音频应用播放音频之控制播放速度
iOS 9音频控制播放速度
iOS9音频文件在播放时是以一定的速度进行的。这个速度是可以进行更改的,从而实现iOS9音频文件的快速播放和慢速播放功能。要实现iOS9播放速度的更改需要使用AVAudioPlayer类中的rate属性实现。其语法形式如下:var rate: Float
其中,该属性设置的值为浮点类型,范围在0.5到2.0之间。如果该属性的值设置为1.0表示正常播放,它也是默认值。2.0表示以最快的速度进行播放,0.5表示以最慢的速度进行播放。
注意:如果开发者要iOS 9音频实现播放速度的改变则必须要对enableRate属性进行设置,该属性的功能是否允许改变播放速度。其语法形式如下:
var enableRate: Bool
其中,该属性设置的值为布尔类型。将值为true时,表示允许改变播放速度,反之,则不运行改变播放速度。
【示例2-6】以下将以第一个iOS 9音频实例为基础,让用户可以控制音频文件的播放速度。具体的操作步骤如下:
(1)将主视图中的Rate Text Field文本框与插座变量rateTextField进行关联。
(2)将主视图中的Rate Text Field文本框与动作setRate进行关联。
(3)右击主视图中的Rate Text Field文本框,在弹出的Rate Text Field对话框,如图2.27所示。
(4)选择Sent Events下的Did End On Exit选项,将此选项和dock中的View Controller进行关联,如图2.28所示。
(5)Did End On Exit选项和dock中的View Controller进行关联后,会弹出当前声明的方法,如图2.29所示。
图2.28 iOS 9音频关联
(6)选择其中的setRate:方法,此时Did End On Exit就与setRate:方法进行关联了,如图2.30所示。
图2.29 iOS 9音频弹出方法对话框 图2.30 iOS 9音频关联后的效果
(7)打开ViewController.swift文件,编写代码,实现播放速度的控制。代码如下:
@IBAction func setRate(sender: AnyObject) {
rateTextField.resignFirstResponder() //关闭键盘
//判断音频文件是否没有开始播放
if(audioEffect!.playing==false && audioEffect?.currentTime == 0.0){
//没有开始播放
audioEffect?.enableRate=true //允许改变播放速度
let rateValue=NSString(string: rateTextField.text!).floatValue
audioEffect?.rate=rateValue //设置播放速度
hideMoreSettingsView()
}else{
//开始播放
let alertController = UIAlertController(title: "提示", message: "音乐开已经播放,设置无效", preferredStyle: UIAlertControllerStyle.Alert)
//关闭更多设置项
let action = UIAlertAction(title: "知道了", style: UIAlertActionStyle.Default){
(action: UIAlertAction!) -> Void in
self.hideMoreSettingsView()
}
alertController.addAction(action)
self.presentViewController(alertController, animated: true, completion: nil)
}
}
此时运行程序,在出现的模拟器界面中轻拍更多按钮,弹出更多设置项,在播放速度对应的文本框中输入数字,按下return键后,退出更多设置项。轻拍播放按钮,音频文件就会进行播放了。此时音频文件播放的速度与用户输入的数字有关。
注意:如果开发者在iOS 9音频文件播放一段时间后轻拍更多按钮,在弹出的更多设置项中输入播放速度,此时输入的速度是无效的,它不可以控制音频文件的播放速度,所以在按下return键后,会弹出“iOS9音乐已经播放,设置无效”的警告视图,如图2.31所示。
图2.31 iOS 9音频警告视图
本文选自:iOS 9音频应用开发基础教程大学霸内部资料,转载请注明出处,尊重技术尊重IT人!
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 讲解iOS开发中基本的定位功能实现
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- 浅析iOS应用开发中线程间的通信与线程安全问题
- 检测iOS设备是否越狱的方法
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解
- IOS 改变键盘颜色代码
- 举例详解iOS开发过程中的沙盒机制与文件
- Android和IOS的浏览器中检测是否安装某个客户端的方法
- 分享一个iOS下实现基本绘画板功能的简单方法
- javascript实现阻止iOS APP中的链接打开Safari浏览器