数码相机按快门时不照相且显示write protect
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数码相机按快门时不照相且显示write protect相关的知识,希望对你有一定的参考价值。
参考技术A 这种提示是相机的存储卡出现错误的提示,一般有两种原因造成:一种可能是存储卡的写保护处在保护状态,即不允许写入数据,这时可以把卡上的lock滑块拨向相反的方向;另一种可能是存储卡出现了损坏,这时就要更换存储卡了。需要访问 iPhone 使用的默认相机快门声音
【中文标题】需要访问 iPhone 使用的默认相机快门声音【英文标题】:Need to access the default camera shutter sound used by the iPhone 【发布时间】:2014-04-03 22:13:41 【问题描述】:现在,当用户按下按钮时,我会播放自定义相机快门声音。
但是,如果可能的话,我宁愿只使用您使用 iPhone 拍照时默认播放的相机快门声音。
有没有办法可以访问和使用默认的 iPhone 相机快门声音?如果是,那么它的实际位置在哪里?
我需要弄清楚它的文件路径,以便我可以将它与下面的代码一起使用,只需更改 pathForResource
的输入:
NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"shutter" ofType: @"wav"];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:soundFilePath ];
self.myAudioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil];
[self.myAudioPlayer play];
感谢您的帮助。
【问题讨论】:
【参考方案1】:AudioServicesPlaySystemSound(1108);
基于: Are there any other iOS system sounds available other than 'tock'? 和 http://iphonedevwiki.net/index.php/AudioServices
2016 年 ....
if #available(iOS 9.0, *)
AudioServicesPlaySystemSoundWithCompletion(SystemSoundID(1108), nil)
else
AudioServicesPlaySystemSound(1108)
【讨论】:
从 iOS9 开始,AudioServicesPlaySystemSoundWithCompletion
是首选 - AudioServicesPlaySystemSound
的标头 cmets 表明它将被弃用。
请注意,您需要导入 AVKit 才能访问这些方法【参考方案2】:
查看 stevesliva 的回答对我帮助很大。但是,我最终得到了这个:
Unexpected type name 'SystemSoundID': expected expression
...使用这条线...
AudioServicesPlaySystemSoundWithCompletion(SystemSoundID(1108), nil);
所以,使用这段代码让我的应用播放了相机快门噪音:
SystemSoundID soundID = 1108;
AudioServicesPlaySystemSoundWithCompletion(soundID, ^
AudioServicesDisposeSystemSoundID(soundID);
);
希望这对某人有所帮助。
【讨论】:
那是因为你引用的代码是 Swift。你甚至看过 ObjC/C API 吗?应该是AudioServicesPlaySystemSoundWithCompletion((SystemSoundID)1108, nil);
OP 问题在 Obj-C 中。公认的答案是 Swift - 我觉得这很奇怪。我添加了我的评论,希望我的实际 Obj-C 响应对某人有所帮助。
答案在 Obj C 中,并且已经用 Swift 进行了编辑。以上是关于数码相机按快门时不照相且显示write protect的主要内容,如果未能解决你的问题,请参考以下文章