Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable Shutter sound when taking Photo #28

Closed
otymartin opened this issue Mar 13, 2017 · 4 comments
Closed

Disable Shutter sound when taking Photo #28

otymartin opened this issue Mar 13, 2017 · 4 comments

Comments

@otymartin
Copy link

otymartin commented Mar 13, 2017

@Awalz
Is it possible to disable the shutter sound when the takePhoto method is called?

In my usecase, while user is recording, at some point I also takePhoto. That way at output I have both a video and a thumbnail photo. But I dont want the take photo sound to go off.

@Awalz
Copy link
Owner

Awalz commented Mar 13, 2017

It is not possible to disable the shutter sound manually. Such attempts result in a rejection from the app store due to this section in App Store Guidelines:

Section 3.3.8 : Any form of user or device data collection, or image, picture or voice capture or recording (collectively “Recordings”), and any form of data, content or information collection, processing, maintenance, uploading, syncing, storage, transmission, sharing, disclosure or use performed by, through or in connection with Your Application must comply with all applicable privacy laws and regulations as well as any related Program Requirements, including but not limited to any notice or consent requirements. In particular, a reasonably conspicuous audio, visual or other indicator must be displayed to the user as part of the Application to indicate that a Recording is taking place.

However, the shutter sound should not go off while video is recording. If you call the takePhoto() function while video is being recorded, the shutter audio should not be played. I just tested on the demo project

Andrew

@otymartin
Copy link
Author

otymartin commented Mar 13, 2017

@Awalz
I think its my implementation. I use a tapGesture on the circleButton which interpolates into a 10 second animated circle counter because I force users to take exactly 5 second videos. Sometimes I hear the shutter, sometimes I dont. Perhaps I should get a frame from the resulting video URL instead.

 func swiftyCam(_ swiftyCam: SwiftyCamViewController, didBeginRecordingVideo camera: SwiftyCamViewController.CameraSelection) {
        self.cameraActivity(state: .start)
        Timer.after(0.2) {
            self.takePhoto()
        }
    }

https://media.giphy.com/media/cCel8clmU5Bvi/giphy.gif

@Awalz
Copy link
Owner

Awalz commented Mar 13, 2017

This is currently my code I just used to test. I wrote a delay function which takes a photo 0.2 seconds after video begins recording.I did get any shutter sounds:

func swiftyCam(_ swiftyCam: SwiftyCamViewController, didBeginRecordingVideo camera: SwiftyCamViewController.CameraSelection) {
       // UI animations from demo project
        print("Did Begin Recording")
        captureButton.growButton()
        UIView.animate(withDuration: 0.25, animations: {
            self.flashButton.alpha = 0.0
            self.flipCameraButton.alpha = 0.0
        })
        
        delay(delay: 0.2) { 
            self.takePhoto()
       }
}

func delay(delay:Double, closure:@escaping ()->()) {
    DispatchQueue.main.asyncAfter(deadline: .now() + delay) {
        closure()
    }
}

Andrew

@otymartin
Copy link
Author

@Awalz This is also another very random occurance. Alot of times I wont get the shutter either but also I'll get it abit from time to time.

I just find another method to get a thumbnail photo from the video

@Awalz Awalz closed this as completed Mar 13, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants