|
发表于 2018-11-4
|
|阅读模式
iOS 9音频应用播放音频之音量设置与声道设置
7 t) t; \7 [) @1 N+ @iOS 9音频应用音量设置
6 Y' o6 m. T/ d9 E9 |5 A9 i音量又称响度、音强,是指人耳对所听到的声音大小强弱的主观感受,其客观评价尺度是声音的振幅大小。在iOS 9音频应用的应用中,经常会出现播放的音乐音量过大或者过小。此时iOS 9音频应用开发者可以使用AVAudioPlayer类中的volume属性对音频文件的音量进行设置。其语法形式如下:
; h" g3 {1 L: y4 p- |% H3 x+ U6 Q5 a8 {; T! D: I$ P
: y* P) ]- n. p" F4 J3 F3 g! h9 \& [# v
var volume: Float
1 _! W) R N$ L) M( a
2 @, P* e! h( E' p2 d! G其中,该属性设置的值是浮点类型,范围在0.0到1.0之间。当设置的值为0.0时,表示静音;当设置的为为1.0时,表示最大音量。+ q" E2 U5 A: j5 [
. G. ]5 s m" D2 d
注意:如果开发者想要让耳机系统发挥出最佳状态,谨记把音量调到最合适的水平,如果你对现场真实的音量不熟悉,那么就多找机会去听现场!
, X2 F% u+ s5 n7 H' z4 C# z- z/ }- C
【示例2-4】以下将以第一个实例为基础,实现音量的调节。具体的操作步骤如下:8 ^ {' V% Z" Q- B$ Y0 A! }& O) o
! B5 Q8 k' ^, d- d. ?
1.显示更多设置项
8 t/ ^. [9 S- v2 R: B
: u% M' `7 x/ }' R(1)将主视图中的Bar Button Item控件与动作showMoreSettingsView进行关联。
3 J9 |# _' ~) f7 M
* {3 z& Z6 A0 t$ L7 \0 B(2)打开ViewController.swift文件,编写代码,实现显示更多设置项,代码如下:
5 Q) D5 g6 p* M0 b) }( O& l. q
2 @1 Q3 \* }) ]4 X3 } y, c" j9 x; T: f# l
@IBAction func showMoreSettingsView(sender: AnyObject) {9 R' e1 V6 S7 O7 e: R( P1 \. T
UIView.beginAnimations("", context: nil)
2 p d$ c! r% k0 P" V. k2 @ UIView.setAnimationDuration(2)- l7 f" N$ D& G
moreSettingsView.hidden=false# p4 W% ]# U% B, T; q9 S
UIView.commitAnimations()6 R# i1 S7 P3 S
}
& B- X" E' q7 }0 A0 y% T
# Y2 S5 x8 i. J+ {4 F- M5 \( l2.ios9设置音量
m1 w. A' m: e. S
, P- s! z" ~+ N; H! ~! ]. [(1)将主视图中的Volume Slider与插座变量volumeSlider进行关联。! b9 U# A# _, W; |" Y, J1 Z
3 e b& v3 ~, ^4 d2 G( u(2)将主视图中的Volume Slider与动作setVolume进行关联。% \3 Z' J' ]! b6 w' I$ z; z
. L0 I. v6 e3 S( d8 ~' l! w
(3)打开ViewController.swift文件,编写代码,首先需要在viewDidLoad()方法中添加一行代码,实现对音量的设置,这个音量是初始音量,代码如下:
2 o. t2 w' @4 M b3 c9 h! @ F% A! k. \5 @, ]
% G) T' W- B. O# Eoverride func viewDidLoad() {* @ g6 R5 K# f6 m1 U; G
super.viewDidLoad()
. i4 ~, Y4 Z$ X // Do any additional setup after loading the view, typically from a nib.
6 v4 ]/ S$ ]; k- G6 Y! y+ { moreSettingsView.hidden=true
" i) a& {* L* c. T let path=NSBundle.mainBundle().pathForResource("Liekkas", ofType: "mp3")4 _8 G" Y0 G7 v- m) t5 d- R i
……8 `( J% r0 z2 Z: w ~7 g5 R6 R0 L
audioEffect?.prepareToPlay()
! b7 N: y) J+ w! w5 ^/ E8 p- x& L audioEffect?.volume=volumeSlider.value //设置音量大小7 U" j9 M0 \- G+ M7 H3 d
}1 Y( k* V$ P. V1 r, s
* g2 H1 d! r2 n
(4)在ViewController.swift文件中的setVolume()动作编写代码,实现通过滑块调节音频大小的功能。代码如下:
, m+ C; O7 Y- A* L \! S* G! W/ i7 u. L! [
9 t0 d, I$ [ L' l) p+ t$ ?@IBAction func setVolume(sender: AnyObject) {+ G( B" O! S3 |% O: N, \
audioEffect?.volume=volumeSlider.value' y% N! e5 _2 Y1 e, I, F5 M8 i
self.performSelector(("hideMoreSettingsView"), withObject: self, afterDelay: 3)
5 N1 K" g( L; i) p% o$ e1 F# T}
6 |2 \. Y, g7 J" [/ x2 m//隐藏更多设置项界面8 \* Y, G; w0 V, i. q5 n! v
func hideMoreSettingsView(){
$ g/ J- }4 u( U* L0 Q: s2 L* F$ u moreSettingsView.hidden=true
8 ~8 z2 {) w4 f4 a}5 |( R/ j. Y; y/ |! C) C
2 _8 n( |' ]1 _; k! F2 d$ h# K
此时运行程序,在模拟器界面中轻拍播放按钮,此时音频文件就会开始播放,当开发者轻拍导航栏中的更多按钮后,会弹出更多设置项的界面,如图2.26所示。当开发者可以滑动滑块来控件音量的大小。 q' j! r8 D, Z) h) |6 b6 K; l' W
0 o: [% s/ H0 I: x# M# R4 h, J( q' y( K
5 e+ c$ [! F. ]7 \
图2.26 设置音量& ]1 H6 b! J$ K' _( \* T" q# b' d
|
|