簡體   English   中英

按鈕無法在iOS中播放音頻

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM