1

我刚刚添加了文件:

JSQSystemSoundPlayer.h
JSQSystemSoundPlayer.m

进入我的项目,它出现了下一个错误:

No visible @interface for 'JSQSystemSoundPlayer' declares the selector 'playAlertSoundWithFilename:fileExtension:'

我搜索了很多,但找不到解决方案。谁能知道如何解决它?

4

1 回答 1

4

这是方法的声明

- (void)playAlertSoundWithFilename:(NSString *)filename
                 fileExtension:(NSString *)fileExtension
                    completion:(nullable JSQSystemSoundPlayerCompletionBlock)completionBlock;

您缺少完成块,没有这样的方法,只有两个参数

这是如何使用它的示例

[[JSQSystemSoundPlayer sharedPlayer] playSoundWithFilename:@"mySoundFile"
                                             fileExtension:kJSQSystemSoundTypeAIF
                                                completion:^{
                                                  // completion block code
                                                }];

编辑:根据评论

如果您查看playSoundWithFilename: fileExtension: completion:方法的声明,您会发现

@param completionBlock A block called after the sound has stopped playing.

这意味着在声音停止播放后做任何你想做的事情。如果您不想做任何事情,那么您可以nil像上面那样传递或清空块

于 2015-08-05T12:03:53.580 回答