[英]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.