【发布时间】:2012-12-31 08:21:18
【问题描述】:
我正在使用大约 50 个 AVAudioPlayer,每个都加载一个单独的音频文件。这些文件是固定的并且在应用程序包中。它们由稍后在应用程序中的事件触发。目前我正在硬编码每个播放器实例的创建,如下所示:
//No01
NSURL *no01URL = [[NSURL alloc] initFileURLWithPath: [[NSBundle mainBundle] pathForResource:@"audio1" ofType:@"aiff"]];
self.no01Player = [[AVAudioPlayer alloc] initWithContentsOfURL:no01URL error:nil];
no01Player.numberOfLoops = 0;
no01Player.volume = 0;
no01Player.delegate = self;
//No02
NSURL *no02URL = [[NSURL alloc] initFileURLWithPath: [[NSBundle mainBundle] pathForResource:@"audio2" ofType:@"aiff"]];
self.no02Player = [[AVAudioPlayer alloc] initWithContentsOfURL:no02URL error:nil];
no02Player.numberOfLoops = 0;
no02Player.volume = 0;
no02Player.delegate = self;
//No03 and so on...
显然,这是一种费力且糟糕的编码实践。我想在 Plist 中拥有文件列表,并将这些文件加载到仅填充上述代码示例的变量中。我想学习如何对此进行 DRY,但从 Plist、数组、字典等加载数据的经验有限。
感谢您提供任何帮助,即使是为了让我了解相关教程的方向。
谢谢。
【问题讨论】:
标签: objective-c ios plist avaudioplayer