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

しかし、それは失敗します。音名が。の場合に機能するので、Bellとの間のスペースが原因だと思います。次に、このようなサウンド名をエスケープしようとしましたが、コンパイルすると取得します。TowerÀlarmBell\ Towererror: 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 に答える