简体   繁体   中英

AVaudioPlayer regarding song overlapping

I have using AVAudioPlayer in my app but the problem is that when i play the song from list it will played while before stopping the song i am again goes to song list then select another song then both song will start playing simultaneously so please tell me the code which will terminate my first song.

I use flag variable for initializing the song file---

fileURL = [[NSURL alloc] initFileURLWithPath: [[NSBundle mainBundle] pathForResource:@" Om Namo" ofType:@"aac"]];
self._player = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil];
if (self._player)
{
_fileName.text = [NSString stringWithFormat: @"%@ (%d ch.)", [[self._player.url relativePath] lastPathComponent], self._player.numberOfChannels, nil];
[self updateViewForPlayerInfo];
[self updateViewForPlayerState];
}

[fileURL release];
break;

Play and push function---

- (void)startPlayback
{

if ([self._player play])
{
//[self stop];
[self updateViewForPlayerState];
self._player.delegate = self;
}
else
NSLog(@"Could not play %@\n", self._player.url);
}

- (void)pausePlayback
{
[self._player pause];
[self updateViewForPlayerState];
}

I also make stop function---

-(void)stop
{
[_player release];
self._player=nil;
}

Please help me . Is correct my stop function. and where i put our stop function or any other solution to fix this problem...

I can think of 3 things :

1) You can make code look like code by putting 4 spaces infront of each line. The reason you've gt no answers so far is probably because your question is almost unreadable ;)

2) In your stop method you might want to try this :

- (void) stop {
    [_player stop];
    self._player = nil;
}

3) Apple highly discourage using an underscore in front of member names. I've never run into problems but I'd rename _player to player .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM