UIButton点击声音不起作用?
Posted
技术标签:
【中文标题】UIButton点击声音不起作用?【英文标题】:UIButton Click sound not working? 【发布时间】:2014-01-02 08:23:44 【问题描述】:我已经执行了以下代码,但声音不起作用。 在.h
#import <AVFoundation/AVAudioPlayer.h>
#import <AVFoundation/AVFoundation.h>
在.m
NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"sound1" ofType:@"mp3"];
NSURL *soundUrl = [NSURL fileURLWithPath:soundPath];
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundUrl];
[player play];
但我听不到任何声音。实际上我想管理按钮单击声音以及音量按钮,所以我正在使用这种方法。
【问题讨论】:
您使用的是 iPhone、iPod、iPad 哪款设备? 您是否正在配置应用程序音频会话? 不,我没有确认,我应该做什么以及使用哪种协议? 【参考方案1】:你设置音量了吗?
[player setVolume:1.0];
另一种播放短音的方法是AudioservicesCreateSystemSoundID
。
查看链接Play a short sound in iOS
【讨论】:
【参考方案2】:尝试:
self.theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:(__bridge NSURL *)(soundUrl) error:NULL];
self.theAudio.volume = 1.0;
self.theAudio.delegate = self;
[self.theAudio prepareToPlay];
[self.theaudio play];
【讨论】:
【参考方案3】:这对我来说很完美。
将 AVFoundation 和 AudioToolBox 框架添加到项目中
#import <AVFoundation/AVFoundation.h>
#import <AudioToolbox/AudioToolbox.h>
@interface TestViewController : UIViewController
SystemSoundID SoundID;
@implementation TestViewController
-(void) viewDidLoad
[super viewDidLoad];
NSURL *url = [[NSBundle mainBundle] URLForResource:@"test" withExtension:@"caf"];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)url, &SoundID); //When using ARC, make sure to use __bridge
-(void) playSound
AudioServicesPlaySystemSound(SoundID);
【讨论】:
以上是关于UIButton点击声音不起作用?的主要内容,如果未能解决你的问题,请参考以下文章
如果将 UIButton 作为子视图添加到 UIImageView,则单击 UIButton 不起作用