Objective c 如何从plist文件中的不同键中检索不同的mp3文件?

Objective c 如何从plist文件中的不同键中检索不同的mp3文件?,objective-c,Objective C,我是iPhone的初学者。我采用了plist文件,我定义了下面的代码 <key>Animalsound</key> <array> <string>africanwilddog.mp3</string> <string>anteater.mp3</string> <string>baboon.mp3</string>

我是iPhone的初学者。我采用了plist文件,我定义了下面的代码

<key>Animalsound</key>
    <array>
        <string>africanwilddog.mp3</string>
        <string>anteater.mp3</string>
        <string>baboon.mp3</string>
        <string>bat.mp3</string>
        <string>bear.mp3</string>
        <string>bison.mp3</string>
        <string>blackpanther.mp3</string>
    </array>
 <key>Birdsound</key>
    <array>
        <string>albatross.mp3</string>
        <string>antilleangrackle.mp3</string>
        <string>arcticloon.mp3</string>
        <string>beeeater.mp3</string>
        <string>beltedkingfisher.mp3</string>
        <string>bittern.mp3</string>
</array>
-(IBAction)onclicksound:(id)sender
{
        path=[[NSBundle mainBundle]pathForResource:@"Animalfile" ofType:@"plist"];
        dict=[NSDictionary dictionaryWithContentsOfFile:path];
        animalaudio=[pathdata valueForKey:@"Animalsound"];
        NSLog(@"animalaudio:%@",animalaudio);
        selectanimalaudio=[animalaudio objectAtIndex:currentsound];
        NSString *soundpath=[[NSBundle mainBundle]pathForResource:selectanimalaudio ofType:@"mp3"];
        NSLog(@"selectaudio:%@",selectanimalaudio);
        NSLog(@"selectpath:%@",soundpath);
          AVAudioPlayer *audioplayer=[[AVAudioPlayer alloc]initWithContentsOfURL:[NSURL fileURLWithPath:soundpath]  error:NULL];
        self.audiosound=audioplayer;
        [audioplayer release];
         [audiosound play];
        NSLog(@"audioplayer:%@",audioplayer);
}
但是当我运行这个代码时。它给出了

由于未捕获异常而终止应用程序 “NSInvalidArgumentException”,原因:“*-[NSURL initFileURLWithPath::nil字符串参数’和selectpath:(null)

所以,给我一些对我的应用有帮助的建议和来源…

在这一行

NSString *soundpath=[[NSBundle mainBundle]pathForResource:selectanimalaudio ofType:@"mp3"];

您搜索的是一个名为selectanimalaudio(f.e.bison.mp3)且扩展名为“mp3”的文件,因此您搜索的是“bison.mp3.mp3”,但我打赌该文件不存在,它必须返回nil,因此
[NSURL fileURLWithPath:soundpath]
将失败

我只看到调用
NSURL的
AVAudioPlayer
行。字符串参数必须是
nil