2011-03-08 142 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

相關問題