Как отключить звук затвора камеры iPhone?
Я могу сделать снимок с помощью программного обеспечения iPhone, вызвав [UIImagePickerController takePicture:], но когда я делаю iPhone, вы громко записываете щелчок затвора. Когда я google, как отключить клик, я нахожу совет переименовать звуковой файл, который играет iPhone. Мне кажется, что для моего приложения это приведет к тому, что он будет отклонен из магазина приложений для доступа к системным фреймворкам. Есть ли программный способ отключить этот звук? Природа моего приложения требует, чтобы камера молчала.
Ответы
Ответ 1
Я предполагаю, что вы это решили, но ваше приложение должно потерпеть неудачу при проверке Appstore, поскольку оно не соответствует лицензионному соглашению iOS Dev. См. Ниже:
Раздел 3.3.8: Любая форма сбора данных пользователя или устройства или изображение, изображения или записи голоса или записи (в совокупности "Записи" ) и любая форма данных, контента или сбора информации, обработки, обслуживание, загрузка, синхронизация, хранение, передача, совместное использование, раскрытие или использование, выполненное посредством или в связи с вашим Заявка должна соответствовать всем применимым законам о конфиденциальности и правил, а также любых связанных с ними требований к программе, в том числе не ограничиваясь никакими требованиями к уведомлению или соглашению. В частности, разумно заметный звуковой, визуальный или другой индикатор должен быть отображается пользователю как часть Приложения, чтобы указать, что Запись происходит.
Ответ 2
Не уверен, хотите ли вы это сделать...
Звук есть, чтобы кто-то знал, что фотография снимается. Идея состоит в том, чтобы обеспечить неприкосновенность частной жизни и безопасность населения, особенно детей, "то, что Япония уже требовала от своих счастливых граждан
В Японии и Корее уже есть законы, требующие этого звука при съемке.
http://abcnews.go.com/Technology/story?id=6750825&page=1
выдержка:
"В Японии и Корее Сеган отметил, что в ответ на растущие сообщения о" недоборстве "правительства приняли законы, аналогичные тем, которые предлагает один король".
Ответ 3
Переименование звукового файла не будет использовать "частный API"; это просто невозможно изнутри песочницы (предполагая, что вы каким-то образом не вышли из песочницы).
Однако в 4.0+ вы можете использовать AVCapture для съемки. Я не уверен, что AVCaptureStillImageOutput воспроизводит звук затвора; обходным путем является использование видеокадров.
Я должен задаться вопросом, что вы подразумеваете под "природой моего приложения". Если вы пытаетесь выполнить какую-то визуализацию в реальном времени, тогда видеофрагменты - намного лучший способ пойти в первую очередь. Если вы пытаетесь делать снимки без разрешения пользователя, пользователь должен иметь возможность отключать звук затвора в любом случае. Если вы пытаетесь делать снимки без разрешения пользователя, возможно, вы нарушите какое-то соглашение с Apple.
Ответ 4
Для чего мне это удалось, я смог заставить это работать, используя этот код в методе snapStillImage структуры AVCapture, используя AVCaptureStillImageOutput. Он отлично работает для меня на iOS 8.3 iPhone 5. Я также подтвердил, что Apple не отклонит ваше приложение, если вы используете это:
MPVolumeView* volumeView = [[MPVolumeView alloc] init];
//find the volumeSlider
UISlider* volumeViewSlider = nil;
for (UIView *view in [volumeView subviews]){
if ([view.class.description isEqualToString:@"MPVolumeSlider"]){
volumeViewSlider = (UISlider*)view;
break;
}
}
[volumeViewSlider setValue:0.0f animated:YES];
[volumeViewSlider sendActionsForControlEvents:UIControlEventTouchUpInside];