#import <AVFoundation/AVFoundation.h>
AVAudioPlayer Notification issue: delegate- audioPlayerDidFinishPlaying:successfully
@interface Conversation : UIViewController{ AVAudioPlayer *avPlayer; } @property (nonatomic, retain) AVAudioPlayer *avPlayer;
@synthesize avPlayer; #pragma mark - Table view delegate - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { // Navigation logic may go here. Create and push another view controller. [self playSound: indexPath]; } #pragma mark - Custom methods - (void) playSound: (NSIndexPath *)indexPath { NSUInteger section = indexPath.section; each = [mainTableDataQuestion objectAtIndex:indexPath.row]; NSString *fileName = [each objectForKey:@"soundID"]; NSLog(@"fileName=%@",fileName); NSURL *url = [[NSURL alloc] initFileURLWithPath:[[NSBundle mainBundle] pathForResource:fileName ofType:@"mp3"] isDirectory:NO]; NSError* error = nil; avPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error]; avPlayer.delegate = self; if (!url || error) { } avPlayer.volume = 1; avPlayer.numberOfLoops = 0;// -1 = repeat forever [avPlayer prepareToPlay]; [avPlayer play]; } #pragma mark - #pragma mark AVAudioPlayer delegate - (void) audioPlayerDidFinishPlaying: (AVAudioPlayer *)aPlayer successfully: (BOOL)flag { if (flag == YES) { NSLog(@"===audioPlayerDidFinishPlaying==="); //do something [mainTableView reloadData]; } }
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。