ios去除自定义相机拍照快门声音

 

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);

//注意哦是放在拍照方法的(下面这段代码)上面,不是放在创建方法里面
[self.stillImageOutput captureStillImageAsynchronouslyFromConnection:
...


音频文件下载地址

PS:注意哦,音频文件不能直接拖拽进项目内,不然运行会报错找不到bundle,要先将音频文件加到项目内再用add的方式加入项目

PS2:以上方法亲测可用,但是仅针对iphone,我在ipad2上测试是仍然有快门声音的

PS3:但是以上方法在用程序控制连续多次拍照,会出现声音不同步的情况,不仅无法抵消还会有两次声音。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
iOS Objective-C 中自定义相片拍照功能,可以使用系统提供的 UIImagePickerController 类。UIImagePickerController 是一个系统自带的 UIImagePickerController 控制器,它提供了相机和相册的访问功能,可以方便地实现自定义相片拍照功能。 以下是简单的实现步骤: 1. 导入 UIImagePickerController 类: ``` #import <UIKit/UIKit.h> ``` 2. 创建 UIImagePickerController 实例: ``` UIImagePickerController *pickerController = [[UIImagePickerController alloc] init]; ``` 3. 配置 UIImagePickerController 实例: ``` pickerController.sourceType = UIImagePickerControllerSourceTypeCamera; // 设置为相机模式 pickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto; // 设置为拍照模式 pickerController.cameraDevice = UIImagePickerControllerCameraDeviceRear; // 设置为后置摄像头 pickerController.allowsEditing = NO; // 禁止编辑 pickerController.delegate = self; // 设置代理 ``` 4. 打开相机: ``` [self presentViewController:pickerController animated:YES completion:nil]; ``` 5. 处理拍照结果: ``` - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<UIImagePickerControllerInfoKey,id> *)info { UIImage *image = info[UIImagePickerControllerOriginalImage]; // 处理拍照结果 [picker dismissViewControllerAnimated:YES completion:nil]; } ``` 通过系统提供的 UIImagePickerController 控制器,我们可以轻松地实现自定义相片拍照功能。如果需要进一步定制相机界面和功能,可以考虑使用 AVFoundation 框架,自定义相机界面和拍照功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值