2009-03-12 6 views
5

응용 프로그램 내에서 장치 볼륨을 제어 할 수 없다는 것을 알고 있지만 볼륨을 제어하기 위해 응용 프로그램에있는 UIScrollBar에 장치 볼륨이 영향을 미치고 싶습니다.iPhone - 캡처 장치 단추 푸시

Last.fm 응용 프로그램에서이 작업을 수행 할 수 있기 때문에 가능하다는 것을 알고 있습니다.이 동작을 구현하고 싶습니다.

나는 interwebs에 관하여 아주 조금 정보를 찾아 낼 수있다. 여기있는 누군가는 나를 도울 수 있습니까? :)

답변

15

그것은이

AudioSessionAddPropertyListener (kAudioSessionProperty_CurrentHardwareOutputVolume ,audioVolumeChangeListenerCallback, self); 

이처럼 내보기 컨트롤러의 viewDidLoad 초기화됩니다 리스너 콜백

void audioVolumeChangeListenerCallback (void *inUserData, AudioSessionPropertyID inID, UInt32 inDataSize, const void *inData) 
{ 
    RootViewController *controller = (RootViewController *) inUserData; 
    Float32 newGain = *(Float32 *)inData; 
    [controller setGainManual:newGain]; 
} 

로 쉽게 너무 친절 모든 SDK/앱 스토어입니다.

+0

메모리 경고가 발생하면 뷰가 언로드 될 수 있으므로 viewDidLoad에서 위험을 감수해야하며 콜백에 두 번 등록해야합니다. –

+0

나는 백그라운드에서이 기능을 사용하기를 원한다. 나는 이것을 달성 할 수있는 방법이 있나. – Swati