【发布时间】:2013-05-05 18:22:15
【问题描述】:
我正在尝试使用 AVFoundation 框架在按钮单击时播放声音。以前,我使用音频工具箱,但是当我使用音频播放器时,什么都没有。奇怪的是,当我在手机上测试它并按下按钮时,音量控制不是正常的铃声音量控制。这表明它应该正在播放,但我在手机或模拟器上听不到任何声音。我使用了不同的文件,创建了新项目更改了代码,没有任何帮助。
这是.h中的代码:
@interface MainViewController : UIViewController <AVAudioPlayerDelegate>
- (IBAction)test;
这是.m中的代码:
- (IBAction)test {
NSString *path = [[NSBundle mainBundle] pathForResource:@"sound" ofType:@"mp3"];
AVAudioPlayer* theAudio = [[AVAudioPlayer alloc]initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
theAudio.delegate = self;
[theAudio play];
}
【问题讨论】:
-
你检查过
theAudio是否为nil吗? -
@sergio 我该怎么做?
-
你已经声明你将实现
AVAudioPlayerDelegate你真的这样做了吗?这里没有代码。但是,我同意以前的 cmets。path最有可能是nil并且[theAudio play]是空操作。 -
@Marko 好的,谢谢!我需要在哪里输入什么代码?抱歉,我还不是最擅长的。
-
@rblue36: 在初始化
theAudio之后放一个NSlog(@"theAudio address: %x", (long)theAudio);...
标签: ios objective-c xcode audio avfoundation