2011-08-10 3 views
1

나는 비틀기를 만들고 있는데, 음소거/음소거를 프로그래밍 방식으로 "오버라이드"하고 싶다.프로그래밍 방식으로 iPhone 음소거를 켜고 끕니다. (Force Mute/UnMute)

나는 이것이 아니요 Apple의 승인을 받았습니다.

어떻게 접근합니까? 현재 내가 유일한과 같이 볼륨을 설정할 수 있습니다 : 그냥 볼륨을 변경 스틱 것

AVSystemController *AVSysController = [objc_getClass("AVSystemController") sharedAVSystemController]; 
[AVSysController setActiveCategoryVolumeTo:0.0]; 
+0

Apple이 승인 한 방법입니까? – Oliver

+0

아니요, Apple은 "시스템 재정의"코드를 승인하지 않습니다. –

답변

0

(지옥, 당신이 나중에 "유 nmute"수 그렇게 무엇을 사용했는지 저장). 물리적 인 뮤트 스위치가 있기 때문에 스위치가 자신이 직접 뮤트를 해제했을 때 폰이 뮤트되었다고 말하는 경우 (또는 그 반대로) 사용자에게 혼동을 줄 수 있습니다.

+0

그건 이해할 만하지만 내 질문에 대한 답이 아닙니다. 또한 정상적인 상황에서는 사용자에게 혼란스럽게 보일 수 있지만 코드는 일반적인 상황을위한 것이 아닙니다. –

+0

제안한대로 음량을 저장, 제로 및 복원하여 음소거 문제를 해결하려면 어떻게해야합니까? 그것은 사용자가 실제 뮤팅과 구별 할 수 있습니까? – tsm

+0

볼륨을 완전히 0으로 설정할 수 없으며 사용자 설정 (진동, 깜박임 등)이 적용되지 않습니다. 다시, 내 질문에 대한 대답이 아닙니다. –

0

아니요. 불가능합니다. 전체 장치를 음소거/음소거 해제 할 수있는 물리적 스위치가 있으므로 사용할 수있는 소프트웨어 방법이 없습니다.

누군가가 비공개 API를 사용하여이를 시도하더라도 기기에서 사용할 수있는 물리적 스위치와 충돌이 발생합니다.

사용 가능한 물리적 스위치를 존중하기 위해 Apple은 의도적으로 동일한 용도로 소프트웨어 API를 제공하지 않았습니다.

+0

이것은 합법적 인 방법으로는 불가능합니다. 장치를 음소거하는 것은 개인 api에서 가능합니다 .. 문제는 없지만 장치를 프로그래밍 방식으로 음소거하는 경우 장치의 물리적 스위치를 처리해야합니다. 프로그래밍 방식으로 물리적 스위치를 처리하는 방법은 무엇입니까? – macpandit

+0

귀하가 지정한 github 링크로 다시 확인하십시오. 볼륨을 0으로 낮추어 음소거 기능을 달성했음을 분명히 보여줍니다. 그들은 실제로 시스템을 음소거하지 않았습니다. 시스템을 음소거하고 볼륨을 0으로 낮추는 것은 두 가지 다른 기술 개념입니다. 먼저 실제로 필요한 것이 무엇인지 생각하면 합법적이거나 불법적 인 방법으로 그러한 것이 필요합니다. – macpandit

+1

스택 오버플로가 포럼이 아니기 때문에이를 더 자세히 논의하려면 채팅에서 수행해야합니다. –

관련 문제