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人!

时间: 2025-02-01 21:50:55

iOS 9音频应用播放音频之控制播放速度的相关文章

iOS 9音频应用播放音频之播放控制暂停停止前进后退的设置

iOS 9音频应用播放音频之播放控制暂停停止前进后退的设置 ios9音频应用播放控制 在“iOS 9音频应用播放音频之ios9音频基本功能”一文可以看到AVAudioPlayer类有很多的属性以及方法.本节将AVAudioPlayer类中常使用到的属性和方法进行详细的讲解. ios9音频应用暂停/停止 在音乐应用程序中都会有一个使音乐停止播放的按钮.当用户轻拍该按钮,正在播放的音乐就会停止.在iOS要想要正在播放的音频停止下来,可以使用AVAudioPlayer类中的pause()方法和stop

iOS 播放音频的几种方法

iOS 播放音频的几种方法 iPhone OS 主要提供以下了几种播放音频的方法: System Sound Services AVAudioPlayer 类 Audio Queue Services OpenAL 1. System Sound Services System Sound Services 是最底层也是最简单的声音播放服务,调用 AudioServicesPlaySystemSound 这个方法就可以播放一些简单的音频文件,使用此方法只适合播放一些很小的提示或者警告音,因为它有

IOS音频1:之采用四种方式播放音频文件(一)AudioToolbox AVFoundation OpenAL AUDIO QUEUE

本文转载至 http://blog.csdn.net/u014011807/article/details/40187737 在本卷你可以学到什么? 采用四种方法设计应用于各种场合的音频播放器: 基于AudioToolbox.framework框架.播放系统声音文件. 基于AVFoundation.framework框架.播放多种音频格式文件.具有高级音频播放器功能.如实时显示进度.功率,控制音量.播放时间等. 基于OPENAL框架.实现对本地音频文件播放,播放pcm音频文件,3D音频特效. 基

iOS 9音频应用播放音频之ios9音频基本功能

iOS 9音频应用播放音频之ios9音频基本功能 在iOS 9音频应用开发中最为简单和常用的就是AVFoundation框架中的AVAudioPlayer类.虽然AVAudioPlayer类不能播放网络上的音频文件,但是它可以播放本地音频文件,以及缓冲区的文件.本章将讲解最为基础的音频播放--本地音频文件的播放. iOS 9音频应用开发基本功能 实现音频的播放需要使用到AVAudioPlayer类.AVAudioPlayer是AVFoundation.framework框架里面最基本的一个音频播

IOS 播放音频

1,播放短音频 #import <AudioToolbox/AudioToolbox.h>#import "GLYViewController.h"static void completionCallback(SystemSoundID mySSID){ AudioServicesPlaySystemSound(mySSID);}@interface GLYViewController () @end @implementation GLYViewControllerSys

ios微信上无法自动播放音频的情况

今天做个html5需要自动播放音频,发现在ios下autoplay="autoplay"是失效的 就想着强制用js强制播放 document.getElementById('music').play(); 发现并没有用 加上这段代码后才有作用 document.getElementById('music').play(); document.addEventListener("WeixinJSBridgeReady", function () {//监听微信准备就绪

ios开发——实用技术篇&amp;网络音频播放

网络音频播放 在日常的iOS开发中,我们通常会遇到媒体播放的问题,XCode中已经为我们提供了功能非常强大的AVFoundation框架和 MediaPlayer框架.其中AVFoundation框架中的AVAudioPlayer主要用于播放本地音频,也可以播放网络音频,但是需要先将 网络数据转化为data数据,用户体验较差,所有苹果公司提供了功能强大的AVPlayer用于播放网络音频(既流媒体),效果和可控性都比较好,现在就 重点介绍下AVPlayer中网络音频的播放: 下边是一个简单的实例:

iOS 9音频应用播放音频之第一个ios9音频实例2

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

工业串口触摸屏开发制作mp3播放器,单片机或PLC通过串口控制播放MP3音频方法

在工业控制系统中将音乐或语音MP3的美和工控结合在一起,给人以赏心悦目的感受.随着工业控制的发展,对工业控制的控制要求也越来越高,使得越来越多的控制部分不是指简单的现场控制,还需要增加音乐播放或语音提示,使得控制系统更加人性化. 这里介绍广州易显的工业串口触摸屏或者ARM工控机连接单片机或者PLC,使用工业串口触摸屏开发制作mp3的方法.跟电脑的播放器一样,具有播放,暂停,停止,控制播放进度,上一首,下一首等功能.可以在人机界面上控制播放MP3音乐或者语音提示.也可以使用单片机或PLC控制播放的