Re: [問題] 請教關於CollectionView上面的Button。

看板MacDev作者 (HelloWorld!)時間11年前 (2014/08/02 16:59), 11年前編輯推噓2(206)
留言8則, 2人參與, 最新討論串2/6 (看更多)
建立一個mp3名稱的array,順序跟你的textView要用的array一樣 -> @[@"song1",@"song2"]; 在cellForItemAtIndexPath裏面給每一個button一個編號 -> button.tag = indexPath.row 每個button的selector都是play: 在你的play method裏面 UIButton *button = (UButton *)sender; int tag = button.tag 再從mp3 array拿檔名出來 NSString *fileName = [mp3Array objectAtIndex:button.tag]; 路徑再用pathOfResource建立,最後再用AVAudioPlayer播放 理論上是沒問題,你跑跑看XD ※ 引述《crazyni68 (Arni)》之銘言: : 各位好,我第一次在本版發文,也是Xcode初學者,如果有表達不好的地方敬請見諒。 : 目前是在StoryBoard拉出UICollectionViewController,CollectionView的cell上有加上 : TextView與Butoon。 : 程式碼上 numberOfItemSection中 回傳我textView要使用的array=> : return array1.count 與 cellForItemAtIndexPath中 定義cell識別碼, : 重複使用的cell => dequeueReusableCellWithReuseIdentifier : Run程式後,也成功的複製出數個cell,當然每個cell上面也都有TextView與Button。 : TextView部分是沒問題(每個cell成功依照array順序顯示內容),主要問題是需要點擊不 : 同的Button會播放各自所屬的mp3檔[第一個cell上的Button播放第1個mp3檔, : 第2個cell上的Button播放第2個mp3檔...] : 原本也是想說和TextView一樣用array存mp3檔名稱,然後使用AVAudioPlayer來播放,結 : 果發現路徑上只能放NSString型態,且他好像只能播單首歌 : (pathForResource:@"歌名"ofType@"mp3") : 是不是要將NSArray轉NSString呢? : 最後Run完都不成功(卡死,要不然就是點擊Button無反應) : 那為了能先Run成功,所以我改成執行後每個Cell的Butoon點擊後都只能播放同一首mp3檔 : (AVAudioPlayer這段程式碼是放在CellForItemAtIndex裡面,檔名直接給一個mp3檔) : 有試過didSelectItemAtIndexPath但可能不太熟也不會使用,打完後失敗也只能默默的把 : 它註解起來XD : Button部分就是放 : -(IBAction)play:(id)sender : { : if (player) : { : if (![player isPlaying]) : { : [player play]; : } : } : } : 如有需要程式碼比較好觀看我再放該.m檔的連結上來。 : 謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.13.72.16 ※ 文章網址: http://www.ptt.cc/bbs/MacDev/M.1406969958.A.2BC.html ※ 編輯: kiii210 (163.13.72.16), 08/02/2014 16:59:58

08/02 17:35, , 1F
謝謝,剛有測試過,不過每個Button還是會放同一首mp3檔
08/02 17:35, 1F

08/02 17:35, , 2F
那應該去看看AVAudioPlayer吧
08/02 17:35, 2F

08/02 17:35, , 3F
and tag警告說unuse 所以我改objectAtIndex:tag這樣
08/02 17:35, 3F

08/02 17:36, , 4F
不過還是和上述一樣XDD
08/02 17:36, 4F

08/02 17:37, , 5F
好,我去看看~:D
08/02 17:37, 5F
tag那邊只是打太快,直接用button.tag就可以了 AVAudioPlayer剛剛看了一下,想播放不同的聲音檔案,應該是要重新init一次~ ※ 編輯: kiii210 (163.13.72.16), 08/02/2014 17:41:51

08/02 17:49, , 6F
我可以寄站內信(該.m程式)給您嗎?說不定是我自己誤會(打
08/02 17:49, 6F

08/02 17:50, , 7F
錯)程式部分,如果不方便的話沒關係XD
08/02 17:50, 7F

08/02 17:51, , 8F
程式碼部分是存成RTF檔
08/02 17:51, 8F
文章代碼(AID): #1JtAXcAy (MacDev)
討論串 (同標題文章)
文章代碼(AID): #1JtAXcAy (MacDev)