iPhone SDK: Play a single WAV from a button

17,262

Solution 1

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.

Solution 2

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?

Solution 3

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

Share:
17,262
Justin
Author by

Justin

Specialties iOS Development (8+ years) Ruby on Rails

Updated on August 27, 2022

Comments

  • Justin
    Justin over 1 year

    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?