0

我想播放这样的声音:

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

但它失败了。我认为这是由于 and 之间的空格BellTower因为如果声音名称是Àlarm. 然后,我尝试像这样转义声音名称Bell\ Tower,但是error: unknown escape sequence: '\040'在编译时得到了。

有任何想法吗 ?

4

2 回答 2

4

首先对您的 URL 进行编码:

#define url(x) [NSURL URLWithString:[x stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]]
于 2011-05-29T02:15:16.877 回答
0

我忘了这是否是您在 中的操作方式NSUrl,但您可以尝试%20代替空格。

myFatBeat = [[AVAudioPlayer alloc]     
initWithContentsOfURL:url(@"/Library/Ringtones/Bell%20Tower.m4r") error:nil];
于 2011-05-29T02:16:09.357 回答