对于 Question 1,Question 2,Question 3,我在同一个平台上也有类似的问题.

我使用AVFoundation捕获多个图像(5个图像 – 1.5秒的爆破模式),我可以成功捕获5个图像,但每次拍摄新图像时都会制作快门声.

我正在为静态图像使用captureStillImageAsynchronouslyFromConnection.
图像质量/清晰度是我的主要焦点,我不想妥协图像质量和图像捕获速度.

我的查询是:

1)我只能播放一次声音.仅适用于第一个图像,而不是所有5个图像.

2)如果是,请改变快门音,如何?

3)如果合并更改,苹果会批准这些应用程序.

我了解到有关快门音的App Store政策,请参见3.3.8节.

用户界面,数据收集,本地法律和隐私:

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.

如果我们可以静音/完全抑制相机快门音(完全没有声音)也是很好的.

任何对正确方向的帮助将不胜感激.

解决方法

我使用了你在 Question 1发布的方法,它的工作原理就像魔术.所以我强烈建议你遵循最好的答案的例子.

关于您的查询:

1)您只能通过组合包含在布尔值中的示例的解决方案来检查第一张图片是否已被拍摄的第一张照片的声音.例如:

if (hasTakenFirstPicture) {
    static SystemSoundID soundID = 0;
    if (soundID == 0) {
        Nsstring *path = [[NSBundle mainBundle] pathForResource:@"photoShutter2" ofType:@"caf"];
        NSURL *filePath = [NSURL fileURLWithPath:path isDirectory:NO];
        AudioServicesCreateSystemSoundID((__bridge CFURLRef)filePath,&soundID);
    }
    AudioServicesPlaySystemSound(soundID);
} else {
    hasTakenFirstPicture = YES;
}
[self.stillImageOutput captureStillImageAsynchronouslyFromConnection:
...

2)您无法更改默认的快门音.

3)app store review guidelines没有提及拒绝更改快门音的应用程序,所以你几乎在这里被覆盖.如果您提交的应用程序不符合列表中指定的任何条件,他们应该只会拒绝您的应用.

希望这可以帮助!

ios – 仅使用AVFoundation播放相机声音一次以获得多张图像或简单地以编程方式静音/抑制声音的更多相关文章

  1. ios – 在自定义相机层的AVFoundation中自动对焦和自动曝光

    为AVFoundation定制图层相机创建精确的自动对焦和曝光的最佳方法是什么?

  2. ios – 如何将视频从AVAssetExportSession保存到相机胶卷?

    在此先感谢您的帮助.解决方法只需使用session.outputURL=…

  3. ios – 仅使用AVFoundation播放相机声音一次以获得多张图像或简单地以编程方式静音/抑制声音

    对于Question1,Question2,Question3,我在同一个平台上也有类似的问题.我使用AVFoundation捕获多个图像(5个图像–1.5秒的爆破模式),我可以成功捕获5个图像,但每次拍摄新图像时都会制作快门声.我正在为静态图像使用captureStillImageAsynchronouslyFromConnection.图像质量/清晰度是我的主要焦点,我不想妥协图像质量和图像捕

  4. ios – 根据UIView / CGRect的大小将图像裁剪成正方形

    我有AVCaptureSession的实现,我的目标是让用户拍摄照片,只将图像的一部分保存在红色方块边框内,如下图所示:AVCaptureSession的previewLayer(相机)从(0,0)(左上角)跨越到我的相机控制栏(位于包含快门的视图的正上方)的底部.我的导航栏和控制栏是半透明的,所以相机可以显示.我正在使用[captureSessionsetSessionPreset:AVCapt

  5. Ios在Xcode中创建简单的相机叠加如何?

    我应该使用什么类,我该怎么办?

  6. ios – SpriteKit:我应该平移相机还是移动背景?

    使用SpriteKit构建游戏时,使用平台游戏,是否最好将相机向上移动,或者将背景节点向下移动?其他框架的标准做法是什么?关于2D游戏引擎最令人费解的事情之一就是它通常需要一系列版本才能获得相机.他们应该和他们一起出生.SpriteKit也不例外,它需要永远拿到相机.现在它有一个,从来没有想过不使用它.会让你的生活变得简单一百万倍.我可以想到没有例外,但期待被证明是错误的.

  7. iOS保存照片到相机胶卷不会保留EXIF / GPS元数据

    编辑:我想我应该更具体一点.目的是将现有JPEG文件的副本保存到用户的相机胶卷中.最有效的方法是什么?

  8. 不同iOS相机的图像尺寸?

    我正在我的应用中创建一个功能,让人们可以在设备相机中拍照,并在拍摄的图像上方添加一个叠加层.我是通过将从相机接收的图像与其他叠加图像合并来实现的.我知道在iPhone4上,相机图像是1936x2592.所以我准备了相同尺寸的叠加图像.我想知道其他设备的图像尺寸是否不同?

  9. ios – 在iphone中减少相机/照片库图像文件大小不到100 KB

    缩小它:

  10. ios – 使用OpenGL的神秘app崩溃

    我正在使用GPUIImage库来开发iOS相机应用程序.有时,当应用程序在2-3分钟后暂停时,Xcode会在应用程序上发生崩溃,指向方法中的行:可能是这次崩溃的原因是什么?我有一个非常长的摄像头设置,代码本身在GPUImageContext类中.我在这里做错了什么?

随机推荐

  1. iOS实现拖拽View跟随手指浮动效果

    这篇文章主要为大家详细介绍了iOS实现拖拽View跟随手指浮动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. iOS – genstrings:无法连接到输出目录en.lproj

    使用我桌面上的项目文件夹,我启动终端输入:cd然后将我的项目文件夹拖到终端,它给了我路径.然后我将这行代码粘贴到终端中找.-name*.m|xargsgenstrings-oen.lproj我在终端中收到此错误消息:genstrings:无法连接到输出目录en.lproj它多次打印这行,然后说我的项目是一个目录的路径?没有.strings文件.对我做错了什么的想法?

  3. iOS 7 UIButtonBarItem图像没有色调

    如何确保按钮图标采用全局色调?解决方法只是想将其转换为根注释,以便为“回答”复选标记提供更好的上下文,并提供更好的格式.我能想出这个!

  4. ios – 在自定义相机层的AVFoundation中自动对焦和自动曝光

    为AVFoundation定制图层相机创建精确的自动对焦和曝光的最佳方法是什么?

  5. ios – Xcode找不到Alamofire,错误:没有这样的模块’Alamofire’

    我正在尝试按照github(https://github.com/Alamofire/Alamofire#cocoapods)指令将Alamofire包含在我的Swift项目中.我创建了一个新项目,导航到项目目录并运行此命令sudogeminstallcocoapods.然后我面临以下错误:搜索后我设法通过运行此命令安装cocoapodssudogeminstall-n/usr/local/bin

  6. ios – 在没有iPhone6s或更新的情况下测试ARKit

    我在决定下载Xcode9之前.我想玩新的框架–ARKit.我知道要用ARKit运行app我需要一个带有A9芯片或更新版本的设备.不幸的是我有一个较旧的.我的问题是已经下载了新Xcode的人.在我的情况下有可能运行ARKit应用程序吗?那个或其他任何模拟器?任何想法或我将不得不购买新设备?解决方法任何iOS11设备都可以使用ARKit,但是具有高质量AR体验的全球跟踪功能需要使用A9或更高版本处理器的设备.使用iOS11测试版更新您的设备是必要的.

  7. 将iOS应用移植到Android

    我们制作了一个具有2000个目标c类的退出大型iOS应用程序.我想知道有一个最佳实践指南将其移植到Android?此外,由于我们的应用程序大量使用UINavigation和UIView控制器,我想知道在Android上有类似的模型和实现.谢谢到目前为止,guenter解决方法老实说,我认为你正在计划的只是制作难以维护的糟糕代码.我意识到这听起来像很多工作,但从长远来看它会更容易,我只是将应用程序的概念“移植”到android并从头开始编写.

  8. ios – 在Swift中覆盖Objective C类方法

    我是Swift的初学者,我正在尝试在Swift项目中使用JSONModel.我想从JSONModel覆盖方法keyMapper,但我没有找到如何覆盖模型类中的Objective-C类方法.该方法的签名是:我怎样才能做到这一点?解决方法您可以像覆盖实例方法一样执行此操作,但使用class关键字除外:

  9. ios – 在WKWebView中获取链接URL

    我想在WKWebView中获取tapped链接的url.链接采用自定义格式,可触发应用中的某些操作.例如HTTP://我的网站/帮助#深层链接对讲.我这样使用KVO:这在第一次点击链接时效果很好.但是,如果我连续两次点击相同的链接,它将不报告链接点击.是否有解决方法来解决这个问题,以便我可以检测每个点击并获取链接?任何关于这个的指针都会很棒!解决方法像这样更改addobserver在observeValue函数中,您可以获得两个值

  10. ios – 在Swift的UIView中找到UILabel

    我正在尝试在我的UIViewControllers的超级视图中找到我的UILabels.这是我的代码:这是在Objective-C中推荐的方式,但是在Swift中我只得到UIViews和CALayer.我肯定在提供给这个方法的视图中有UILabel.我错过了什么?我的UIViewController中的调用:解决方法使用函数式编程概念可以更轻松地实现这一目标.

返回
顶部