Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone Can';t在(NSURL*)声音url中使用空格播放声音_Iphone_Objective C_Tweak - Fatal编程技术网

Iphone Can';t在(NSURL*)声音url中使用空格播放声音

Iphone Can';t在(NSURL*)声音url中使用空格播放声音,iphone,objective-c,tweak,Iphone,Objective C,Tweak,我想播放这样的声音: #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]; 但它

我想播放这样的声音:

#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];
但它失败了。我认为这是因为
之间的空间,因为如果音名是
Àlarm
,它就起作用了。然后,我尝试像这样转义声音名称
Bell\Tower
,但在编译时得到
错误:未知转义序列:'\040'

有什么想法吗?

首先对您的URL进行编码:

#define url(x) [NSURL URLWithString:[x stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]]
首先对您的URL进行编码:

#define url(x) [NSURL URLWithString:[x stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]]

我忘了在
NSUrl
中是否是这样做的,但您可以尝试
%20
而不是空格

myFatBeat = [[AVAudioPlayer alloc]     
initWithContentsOfURL:url(@"/Library/Ringtones/Bell%20Tower.m4r") error:nil];

我忘了在
NSUrl
中是否是这样做的,但您可以尝试
%20
而不是空格

myFatBeat = [[AVAudioPlayer alloc]     
initWithContentsOfURL:url(@"/Library/Ringtones/Bell%20Tower.m4r") error:nil];