单击按钮时播放iPhone相机快门声

use*_*392 6 iphone camera avfoundation ios

单击按钮时如何从iPhone播放快门声?

Val*_*gin 10

你可以像这样使用AudioToolbox和纯粹的神奇数字1108:

迅速:

import AudioToolbox
AudioServicesPlaySystemSound(1108)
Run Code Online (Sandbox Code Playgroud)

Objective-C的:

#import <AudioToolbox/AudioToolbox.h>
AudioServicesPlaySystemSound(1108);
Run Code Online (Sandbox Code Playgroud)

这里是这些纯魔法ids的完整列表.


bir*_*man 7

1)在线搜索相机快门波形文件.如果使用.wav编辑器有点长,你可以修剪一下 http://www.freesound.org/people/Nathan_Lomeli/sounds/79190/

2)将其命名为shutter.wav并将其与您的其他资源一起放入您的开发目录.

3)在视图的.h文件中定义声音

@interface  myViewController : UIViewController {
    SystemSoundID SoundID;
}
Run Code Online (Sandbox Code Playgroud)

4)在View的"viewDidLoad"事件中加载文件:

  //load a sound wav file to use for the shutter
NSURL *buttonURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"shutter" ofType:@"wav"]];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)buttonURL, &SoundID);
Run Code Online (Sandbox Code Playgroud)

5)在你的button_click事件中:

   //play then shutter.wav sound
AudioServicesPlaySystemSound(SoundID);
Run Code Online (Sandbox Code Playgroud)


Kru*_*lur 0

您没有指定编程语言,但我们现在假设使用 ObjC,而不是 Monotouch 或任何其他第三方框架。

AV 框架中的 AVAudioPlayer 是您的朋友。

请参阅Apple 此处的文档

或者在 SO 上搜索 AVAudioPlayer,您会发现数十个示例。尽管如此,您仍必须从某处获取快门声音文件,但您可以获取在 Google 上找到的任何公开可用的快门声音文件。

如果你真的想使用相机,拍照时会自动播放快门声音,但我怀疑这就是你想要的。