[英]Button not playing audio in iOS
我将文件audio.wav上传到了我的支持文件文件夹中。
这是我的PlayAudio.h
#import <UIKit/UIKit.h>
#import <AudioToolbox/AudioToolbox.h>
#import <AVFoundation/AVFoundation.h>
@interface PlayAudio : UIViewController {
}
-(IBAction) PlayIt;
@end
这是我执行命令后的PlayAudio.m
- (IBAction) PlayIt; {
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFileURLRef;
soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"audio", CFSTR ("wav"), NULL);
UInt32 soundID;
AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
AudioServicesPlaySystemSound(soundID);
}
然后,我按住ctrl键从视图按钮中单击视图控制器中的“第一响应者”,然后选择了PlayIt。 我看到它与“ Touch Up Inside”相关联。
出于某种原因,我可以单击该按钮,但没有任何作用。 我正在情节提要中执行此操作。
您可以使用NSURL获取wav文件的路径并将其转换为CFURLRef,检查以下代码:
SystemSoundID soundID;
NSURL *soundPath = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"audio" ofType:@"wav"]];
if (AudioServicesCreateSystemSoundID ((CFURLRef)soundPath, &soundID) != kAudioServicesNoError) {
AudioServicesPlayAlertSound(soundID);
}
请注意,如果启用了iPhone上的静音按钮,AudioServicesCreateSystemSoundID功能将失败(在这种情况下可以使用振动:soundID = kSystemSoundID_Vibrate;)。 如果要忽略静音开关播放声音,请使用AVAudioPlayer api。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.