AVAudioPlayer无法从网址播放

时间:2012-09-23 08:18:04

标签: ios xcode avaudioplayer

我遇到一个小问题 - 当我尝试播放本地主机的音频时,它会崩溃 这是代码,它不断崩溃。

stuff是一个字典/可变数组的URL

    stuff = [json objectAtIndex:indexPath.row];

 songlink = [NSURL URLWithString:[stuff objectForKey:@"Link"]];
    NSData *songdata = [NSData dataWithContentsOfURL:[NSURL URLWithString:[stuff objectForKey:@"Link"]]];
    jam = [[AVAudioPlayer alloc] initWithData:songdata error:nil];
    jam.delegate = self;
    [jam play];

1 个答案:

答案 0 :(得分:0)

你必须使用“valueForKey”而不是objectForKey。

要考虑的其他事项。

确保您的网址具有以http开头的完全限定网址,并且您不能将localhost用作主机名。

您应该始终使用以下网址:

http://10.10.10.10/mysong.mp3

如果您的网址名称中包含“my song.mp3”这样的空间,也很容易修复:

NSString *stringUrl = [stuff valueForKey:@"Link"];
NSString *newUrl = [stringUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
...[NSURL URLWithString:newUrl]