iPhone SDK: Play a single WAV from a button

2019-05-10 10:00发布

I am currently trying out this code:

NSString *path = [[NSBundle mainBundle] pathForResource:@"dream" ofType:@"m4a"];  
AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];  
theAudio.delegate = self;  
[theAudio play];

However, the SDK says that the ViewController does not implement the AVAudioPlayer Delegate.

Any body any ideas on how to play a WAV (or M4a) using the 2.2 SDK?

4条回答
你好瞎i
2楼-- · 2019-05-10 10:07

iPhoneToot.com has its own itootSound class and a VIDEO to show you how to play a wav file in 2 lines of code. Check them out at iPhoneToot.com. it will save you hours if not days of time!!

查看更多
ら.Afraid
3楼-- · 2019-05-10 10:12

You need to add <AVAudioPlayerDelegate> to the end of your controller's class declaration, along these lines:

@interface MyViewController : UIViewController <AVAudioPlayerDelegate>

This'll probably generate some more warnings about delegate methods you need to implement - follow those and you'll be good to go.

查看更多
太酷不给撩
4楼-- · 2019-05-10 10:17

Interesting. Try NSURL -URLWithString: - that's what I use in combination with the bundle method you're using. I don't see anything that could be causing a problem other than that. You're testing it on the device, right?

查看更多
我命由我不由天
5楼-- · 2019-05-10 10:30

The answer I posted here should definitely help you. Just use audioservices for small wave sounds, unless you need concurrency, it's faster.

查看更多
登录 后发表回答