2016-07-31 5 views
0

MPVolumeView을 사용하여 재생중인 오디오 볼륨을 관리 할 수있는 수평 슬라이더를 생성합니다. 그것은 위대한 작품.장치 볼륨으로 MPVolumeView 슬라이더 썸 위치 설정

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) 
} 
:

enter image description here 다음 enter image description here

내가했던 코드입니다 : 그러나, 초기에, 나는 장치의 볼륨이 아닌 0.5, 기본에 해당하는 위치를 취 슬라이더를 원하는

답변

1

보기 컨트롤러의 init 또는 viewDidLoad에있는 valueAVAudioSession.sharedInstance().outputVolume에 할당하십시오. import AVFoundationAVAudioSession을 사용하십시오.

또는 MPVolumeView을 프로그래밍 방식으로 콘센트로 사용하지 않고 초기화 할 수 있습니다. 나는 이것이 귀하의 문제의 근원이라고 믿습니다.

+0

답변 해 주셔서 감사합니다.하지만 작동하지 않습니다. – Zl3n

+0

@ Zl3n 작동하지 않는 이유는 무엇입니까? 'outputVolume'이 현재 장치의 볼륨과 일치하지 않습니까? – JAL

+0

'mpVolumeSlider? .setValue (0.1, animated : true)'를 함수 또는'init()'에 넣었을 때, 아무 것도하지 않습니다 ... 그러나 장치 볼륨은 계속 수정됩니다. – Zl3n