0

我有一个小问题 - 当我尝试从本地主机播放音频时,它崩溃了。
这是代码,它经常崩溃。

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];
4

1 回答 1

0

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

其他要考虑的事情。

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

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

http://10.10.10.10/mysong.mp3

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

NSString *stringUrl = [stuff valueForKey:@"Link"];
NSString *newUrl = [stringUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
...[NSURL URLWithString:newUrl]
于 2012-09-23T09:02:27.330 回答