[UIImagePickerController takePicture:] を呼び出すことにより、プログラムで iPhone を使用して写真を撮ることができますが、iPhone でシャッター クリックの大きな録音が再生されます。クリックをオフにする方法をグーグルで検索すると、iPhone が再生するサウンド ファイルの名前を変更するようアドバイスが見つかりました。私のアプリがそれを行うと、システム フレームワークにアクセスするためにアプリ ストアから拒否されるように思えます。その音を止めるプログラム的な方法はありますか? 私のアプリの性質上、カメラは静かにする必要があります。
4 に答える
それ以来、あなたはそれを解決したと思いますが、アプリは iOS Dev License 契約に準拠していないため、Appstore の検証で失敗するはずです。下記参照:
セクション 3.3.8: あらゆる形式のユーザーまたはデバイスのデータ収集、または画像、写真、または音声のキャプチャまたは記録 (総称して「記録」)、およびあらゆる形式のデータ、コンテンツ、または情報の収集、処理、保守、アップロード、同期、保存、送信、共有、開示、またはアプリケーションによって、アプリケーションを通じて、またはアプリケーションに関連して実行される使用は、適用されるすべてのプライバシー法および規制、ならびに関連するプログラム要件を遵守する必要があります。これには、通知または同意要件が含まれますが、これらに限定されません。特に、録音が行われていることを示すために、合理的に目立つ音声、視覚、またはその他のインジケータをアプリケーションの一部としてユーザーに表示する必要があります。
サウンドファイルの名前を変更する場合、「プライベートAPI」は使用されません。サンドボックス内からは不可能です(サンドボックスから抜け出していないことを前提としています)。
ただし、4.0以降では、代わりにAVCaptureを使用して写真を撮ることができます。AVCaptureStillImageOutputがシャッター音を鳴らすかどうかはわかりません。回避策は、ビデオフレームを使用することです。
しかし、「私のアプリの性質」とはどういう意味か疑問に思う必要があります。ある種のライブ画像処理を行おうとしている場合は、そもそもビデオフレームの方がはるかに優れた方法です。ユーザーの許可を得て静かに写真を撮ろうとしている場合、ユーザーはとにかくシャッター音を消すことができるはずです。ユーザーの許可なしに写真を撮ろうとしている場合は、Appleとの契約に違反している可能性があります。
価値があるのは、AVCaptureStillImageOutputを使用して、AVCaptureフレームワークのsnapStillImageメソッドでこのコードを使用することで、これを機能させることができたということです。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];
スウィフト 4:
var volumeView = MPVolumeView()
//find the volumeSlider
var volumeViewSlider: UISlider? = nil
for view: UIView in volumeView.subviews {
if (view.self.description == "MPVolumeSlider") {
volumeViewSlider = view as? UISlider
break
}
}
volumeViewSlider?.setValue(0.0, animated: true)
volumeViewSlider?.sendActions(for: .touchUpInside)
やりたいかどうかわからない... 音は、写真が撮られていることを誰かに知らせるためにあります。国民、特に子供たちのプライバシーと安全を確保することを目的としています。」
日本と韓国には、写真を撮るときにこの音を必要とする法律がすでにあります。
http://abcnews.go.com/Technology/story?id=6750825&page=1
抜粋:
「日本と韓国では、「アンダースカート」の増加する報告に応えて、政府はキングが提案したものと同様の法律を可決したとセガンは指摘した.