我想播放这样的声音:
#define url(x) [NSURL URLWithString:x]
....
AVAudioPlayer *myFatBeat;
myFatBeat = [[AVAudioPlayer alloc] initWithContentsOfURL:url(@"/Library/Ringtones/Bell% Tower.m4r") error:nil];
[myFatBeat setNumberOfLoops:-1];
[myFatBeat play];
但它失败了。我认为这是由于Bell
和Tower
之间的空格,因为如果声音名称是Àlarm
,它就会起作用。然后,我试图像Bell\ Tower
那样转义声音名称,但在编译时我得到error: unknown escape sequence: '\040'
。
有什么想法吗?
答案 0 :(得分:4)
首先对您的网址进行编码:
#define url(x) [NSURL URLWithString:[x stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]]
答案 1 :(得分:0)
我忘记了NSUrl
中你是如何做到这一点的,但你可以试试%20
而不是空格。
myFatBeat = [[AVAudioPlayer alloc]
initWithContentsOfURL:url(@"/Library/Ringtones/Bell%20Tower.m4r") error:nil];