在我的 AppDelegate 中,我有这个方法,它会在单击播放按钮时运行:
- (IBAction)actionPlayTrack:(id)sender {
NSSound *currentSong = [[NSSound alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"03 Bazel" ofType:@"mp3"] byReference:YES];
if([currentSong isPlaying] == NO){
[currentSong play];
} else {
[currentSong stop];
[currentSong release];
}
}
但是,用于检查歌曲当前是否正在播放的 if 语句将不起作用,并且无论是否已经播放声音,都将始终播放。关于它为什么会这样做的任何想法?也许每次单击按钮时都会重置 currentSong 对象,这将是我的第一个猜测......
[currentSong isPlaying]
将始终返回 null。