2013-02-13 3 views
1

내 앱에서 하드웨어 버튼을 사용하여 알람의 앱 볼륨 레벨을 변경하고 싶지만 볼륨을 높이거나 낮추기 위해 버튼을 사용할 때마다 앱 볼륨에 영향을 미치지 않는 "벨소리"볼륨.하드웨어 볼륨 버튼이 앱 볼륨에서 변경됨

설정 -> 소리 "버튼으로 변경"스위치가 켜져 있고 전원을 끄면 모든 것이 잘 작동하지만 대부분의 사용자는이 기능을 사용하기를 원할 것입니다. 그래서 내 응용 프로그램에서 메신저 난 애플 리케이션 볼륨을 울리는 볼륨을 변경하려면 볼륨 버튼을 원한다.

는 의미에게 그들이 버튼을 사용할 때 열린 오디오 세션이없는 경우 하드웨어 버튼은 알람 볼륨을 변경합니다 기본적으로

감사

+0

내 대답을 수락 한 다음 받아 들일 수 없습니까? = P 내 솔루션이 효과가 없었습니까? –

답변

3

한다 바랍니다. AVAudioSession을 열어 AVAudioSession을 변경하거나 볼륨 슬라이더를 앱의 어딘가에 배치하여 볼륨을 변경하도록 권장합니다.

사용자가 무엇이 잘못되었는지 알지 못하고 여러 번 울리는 볼륨이 변경되는 것을 보지 않아 완벽하게 해결하기가 어렵습니다.

+0

좋아요. AVAudioSession을 만들었고 앱 볼륨을 변경했지만 스피커가있는 회색 상자가 나타나기 전에 볼륨이 얼마나 큰지 알려주지 않았습니다. – zylski

+0

확실하지 않습니다. 왜 그렇게 될지. 난 그냥 내 애플 리케이션에 그것을 테스트하고 나는 지표를 보았다. 이는 MPVolumeView가 전역 표시기 만 표시하고 표시하지 않으므로 MPVolumeView가있는 경우에 해당됩니다. – rooster117

+0

당신이 AVAudioSession을 설정하는 방법을 보여줄 수 있다면 가능할 것입니다 – zylski

0

MPVolumeView!

UIWindowMPVolumeView을 추가하면 (숨길 수 있음) MPVolumeView이 자동으로 하드웨어 버튼을 인계합니다. 이제 하드웨어 버튼이 시스템의 볼륨 레벨이 아닌 앱의 볼륨 레벨에 영향을줍니다.

MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame:CGRectZero]; 
volumeView.showsRouteButton = NO; 
volumeView.hidden = YES; 
[self.window addSubview:volumeView]; 
+0

적어도 iOS 7에서는 작동하지 않습니다. – Ertebolle

관련 문제