2011-09-22 68 views
0

我有10個聲音,並且將它們放入數組中會更容易。不過,我是Obj C的新手。如何將聲音放入數組中?

這是迄今爲止的代碼,僅限於1聲音。我可以複製並粘貼10次。但是如果所有10個聲音都在一個陣列中,我就可以用這些聲音做更多的功能。

- (IBAction)oneSound:(id)sender; { 
    NSString *path = [[NSBundle mainBundle] pathForResource:@"Vocal 1" ofType:@"mp3"]; 
    if (oneAudio) [oneAudio release]; 
    NSError *error = nil; 
    oneAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:&error]; 
    if (error) 
     NSLog(@"%@",[error localizedDescription]); 
    oneAudio.delegate = self; 
    [oneAudio play];  


} 

感謝

+1

你想在數組中放入哪個對象?你有沒有找過關於Objective-C和數組的教程?這裏是一個:http://www.icodeblog.com/2009/08/26/objective-c-tutorial-nsarray/這是關於集合的Apple文檔:http://developer.apple.com/library/mac/documentation/可可/概念/收藏/文章/ Arrays.html#// apple_ref/DOC/UID/20000132-BBCCJBIF。 –

+0

基本上10個聲音,所以對象是聲音? – LA1

+0

知道一個對象是什麼以及如何將一個對象添加到數組中是非常基礎的,它聽起來像需要先閱讀一兩個教程,嘗試一些東西,如果您有特定的困難,請回到這裏。通過這種方式走並不是真正的目的。 –

回答

1

繼承人的一種方式,

NSMutableArray *soundArray = [NSMutableArray arrayWithCapacity:10]; 
[soundArray addObject:oneAudio]; 
. 
. 
. 
[soundArray addObject:tenAudio]; 

,或者您也可以把路徑音頻內容到陣列並在需要時實例化它們。

+3

我建議將聲音的路徑存儲爲數組中的字符串,並僅在需要時才創建聲音對象。聲音對象可能需要大量內存。 –

0

獲取數組的文件路徑,將它們變成字符串,將THOSE添加到數組中,並僅在需要時才訪問它們,否則您將耗盡大量內存。