我正在使用大约50个AVAudioPlayers,每个加载一个单独的音频文件。这些文件已修复并在应用程序包中。他们后来在应用程序中的事件触发。目前,我正在对每个播放器实例的创建进行硬编码,如下所示:从Plist中加载AVAudioPlayer文件的URL
//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中拥有文件列表,并将这些文件加载到仅填充上述代码示例的变量中。我想学习如何做到这一点,但加载Plist,阵列,字典等数据的经验有限。
任何帮助表示赞赏,即使它是指向我的方向的相关教程。
谢谢。
嗨Anusha,谢谢你的建议。我更喜欢Plist而不是纯文本文件,因为我可能需要将其他属性与每个音频剪辑相关联。另外,在上面的示例中,audioCount变量的位置/方式将如何定义? – MightyMeta
@MightyMeta在你的上面的代码中直接使用audio1,audio2等。如果你把它放在一个循环中,你可以把这个循环计数作为audioCount。 –