2016-07-31 13 views
0

私はMPVolumeViewを使用して、再生中のオーディオのボリュームを管理できる水平スライダを生成します。それは素晴らしい作品です。ただし、初期化時に、私は 0.5デバイスのボリュームに対応していない位置をとるスライダーをしたい、デフォルト:デバイスボリュームとしてMPVolumeViewスライダのサム位置を設定します

enter image description here enter image description here

ここでは、私が行っているコードは次のとおりです。

func volumeSlider() { 

    let parentVolumeView = MPVolumeView(frame: volumeParentView.bounds) 

    for view in parentVolumeView.subviews { 
     if (view as UIView).description.rangeOfString("MPVolumeSlider") != nil { 
      mpVolumeSlider = view as! UISlider 
      print("mpVolumeSlider.value : ", mpVolumeSlider.value) 

      // Tried to set mpVolumeSlider.value to volume device, but didn't work, show : 0.0 
      // mpVolumeSlider.value = AVAudioSession.sharedInstance().outputVolume 
     } 
     // Remove device volume indicator 
     self.view!.addSubview(parentVolumeView) 
    } 

    let thumbImage = UIImage(named: "slider-image") 
    slider?.setThumbImage(thumbImage, forState: .Normal) 
} 

答えて

1

スライダーのvalueAVAudioSession.sharedInstance().outputVolumeに、initまたはviewDidLoadのビューコントローラーに割り当てます。 import AVFoundationAVAudioSessionを使用することを忘れないでください。

MPVolumeViewをコンセントとして使用する代わりに、プログラムで初期化することもできます。私はそれがあなたの問題の源だと信じています。

+0

回答ありがとうございますが、これは動作しません – Zl3n

+0

@ Zl3n何がうまくいかないのですか? 'outputVolume'は現在のデバイスのボリュームと一致しませんか? – JAL

+0

'mpVolumeSlider?.setValue(0.1、animated:true)'を関数や 'init()'に書いても、何もしません。 – Zl3n

関連する問題