iOS 9音频应用播放音频之控制播放速度
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人!
iOS 9音频应用播放音频之控制播放速度的更多相关文章
- iOS 9音频应用播放音频之播放控制暂停停止前进后退的设置
iOS 9音频应用播放音频之播放控制暂停停止前进后退的设置 ios9音频应用播放控制 在“iOS 9音频应用播放音频之ios9音频基本功能”一文可以看到AVAudioPlayer类有很多的属性以及方法 ...
- iOS开发拓展篇—封装音频文件播放工具类
iOS开发拓展篇—封装音频文件播放工具类 一.简单说明 1.关于音乐播放的简单说明 (1)音乐播放用到一个叫做AVAudioPlayer的类 (2)AVAudioPlayer常用方法 加载音乐文件 - ...
- IOS音频1:之采用四种方式播放音频文件(一)AudioToolbox AVFoundation OpenAL AUDIO QUEUE
本文转载至 http://blog.csdn.net/u014011807/article/details/40187737 在本卷你可以学到什么? 采用四种方法设计应用于各种场合的音频播放器: 基于 ...
- iOS 9音频应用播放音频之第一个ios9音频实例
iOS 9音频应用播放音频之第一个ios9音频实例 第一个ios9音频实例 为了让开发者可以对上面的内容有更加深入的了解,本节将实现播放音频的第一个实例.在此实例中会涉及到项目的创建.界面设计.关联以 ...
- iOS从零开始学习直播之音频2.后台播放和在线播放
本篇主要讲音频的后台播放和在线播放. 后台播放 上一篇写的工程运行之后程序退至后台,发现运行不了,歌停止了,这显然不行,音乐后台播放是标配啊.今天就来讲一下后台播放. 1.在plist文件里,告诉 ...
- iOS从零开始学习直播之音频1.播放本地音频文件
现在直播越来越火,俨然已经成为了下一个红海.作为一个资深码农(我只喜欢这样称呼自己,不喜欢别人这样称呼我),我必须赶上时代的潮流,开始研究视频直播.发现视屏直播类的文章上来就讲拉流.推流.采集.美 ...
- ios开发——实用技术篇&网络音频播放
网络音频播放 在日常的iOS开发中,我们通常会遇到媒体播放的问题,XCode中已经为我们提供了功能非常强大的AVFoundation框架和 MediaPlayer框架.其中AVFoundation框架 ...
- iOS 播放音频的几种方法
Phone OS 主要提供以下了几种播放音频的方法: System Sound Services AVAudioPlayer 类 Audio Queue Services OpenAL 1. Syst ...
- ios不触发事件也能播放音频
ios不触发事件也能播放音频. 首先界面初始化预加载一个没有声音的音频,代码如下: html: js: $(function(){ $("#start_audio")[0].pla ...
随机推荐
- [USACO07FEB] Lilypad Pond
https://www.luogu.org/problem/show?pid=1606 题目描述 FJ has installed a beautiful pond for his cows' aes ...
- 动态规划:双重DP
之前做过的传纸条那道题就是双重动态规划的典型应用,题意就不描述了,直接贴一下以前写过的,经典代码 #include<iostream> using namespace std; ,maxm ...
- 关于 Capella 需要纠正的语音
li { font-size: 18px; } 关于 Capella 需要纠正的语音 持续更新 浊塞音声带要振动 区分 [θ]/[ð] 和 [t̪],注意舌位 [ɫ] 的舌位,切记不能圆唇 [æ] 的 ...
- 基本控件文档-UITextField属性---iOS-Apple苹果官方文档翻译
本系列所有开发文档翻译链接地址:iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址 //转载请注明出处--本文永久链接:http://www.cnblogs.com/Ch ...
- ActiveMQ 与 Spring
1. ActiveMQ安装 1.1 下载(版本5.14.5) 点我官网下载 1.2 安装 解压下载的压缩文件到任意目录中(eg. C:\Program Files (x86)\apache-activ ...
- perl6 单线程破解phpmyadmin脚本
use HTTP::UserAgent; my $ua = HTTP::UserAgent.new; my $url = 'http://localhost/phpMyAdmin/index.php' ...
- 55.Jump Game---dp
题目链接 题目大意:给一个数组,第i个位置的值表示当前可以往前走的最远距离,求从第一个位置能否顺利走到最后一个位置.例子如下: 法一(借鉴):DP,dp[i]表示从上一个位置走到当前位置时,剩余的可以 ...
- Nim 游戏、SG 函数、游戏的和
Nim游戏 Nim游戏定义 Nim游戏是组合游戏(Combinatorial Games)的一种,准确来说,属于“Impartial Combinatorial Games”(以下简称ICG).满足以 ...
- Freemaker如何遍历key为non-string类型的map?
(一) 前置知识 Freemaker默认配置下会使用SimpleHash去包装后台传递的hashmap,下段摘抄自官方reference 同样,当你传递进去一个hashmap实例时,会替换为一个sim ...
- SyntaxError: Missing parentheses in call to 'print' 这个错误原因是Python版本问题
问题 print "www.baidu.com" Python2 print ("www.baidu.com") Python3 出 ...