2011-03-08 143 views
0

我创建了一个带有按钮歌曲的视图。如何使avaudioplayer停止播放前一首歌曲,同时点击newsong?

  • 当我们点击按钮时,它会转到一个包含 歌曲列表的表格。
  • 当我们选择一首歌曲时,它会转到另一个视图并播放该歌曲。
  • 无论何时播放歌曲,我们都可以返回到主视图或 歌曲表,歌曲将在后台播放,其优先级为 。

但是,每当我尝试播放歌曲表格中的另一首歌曲时,上一首歌曲不会停止,并且它会继续与所选歌曲一起播放。

我的目标是播放歌曲时切换到不同的视图。我已经做了这一个,但我想要的是每当我从歌曲表中选择另一首歌曲时,它必须停止前一首歌曲并播放所选歌曲。

请解决此问题。

回答

0

您必须停止avaudioplayer并在释放现有的实例后重新创建实例。

- (IBAction)buttonClicked 
{ 
if([audioPlayer isPlaying]) 
{ 
    [audioPlayer stop]; 
    [audioPlayer release]; 
    audioPlayer = nil; 
    audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfUrl:songUrl]; 
    [audioPlayer play]; 
} 
// Do something like change view etc. 
} 

如果妳是从表视图选择把这个在UITableView delegatedidSelectRowAtIndexPath

+0

在.H有avaudioplayer *在.hi audioplayer – user2032200 2011-03-08 09:45:15

+0

已经写avaudioplayer * audioplayer ...中的.mi采写上面的代码,但它不工作我怎么能得到这个旧实例,以便我可以停止audioplayer停止 – user2032200 2011-03-08 09:47:17

+0

如果我添加上面的代码也是它的播放歌曲如前 – user2032200 2011-03-08 09:47:57

相关问题