2011-05-29 28 views
0

我想打一個聲音是這樣的:不能玩的(NSURL *)空間中的聲音sound_url

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

,但它失敗。我認爲這是由於BellTower之間的空間所致,因爲如果聲音名稱是Àlarm,它就會起作用。然後,我嘗試逃離這樣的聲音名稱,如Bell\ Tower,但編譯時我得到了error: unknown escape sequence: '\040'

任何想法?

回答

0

我忘了,如果這是你如何在NSUrl做到這一點,但你可以嘗試%20,而不是空間。

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

編碼您的網址第一:

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

感謝它的工作。 – b1onic 2011-05-29 08:18:17