'JSQSystemSoundPlayer' 错误没有可见的@interface
No visible @interface for 'JSQSystemSoundPlayer' error
我刚刚添加了文件:
JSQSystemSoundPlayer.h
JSQSystemSoundPlayer.m
进入我的项目,它出现了下一个错误:
No visible @interface for 'JSQSystemSoundPlayer' declares the selector 'playAlertSoundWithFilename:fileExtension:'
我搜索了很多但找不到解决方案。谁知道怎么解决?
这是方法的声明
- (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
或如上所述的空块
我刚刚添加了文件:
JSQSystemSoundPlayer.h
JSQSystemSoundPlayer.m
进入我的项目,它出现了下一个错误:
No visible @interface for 'JSQSystemSoundPlayer' declares the selector 'playAlertSoundWithFilename:fileExtension:'
我搜索了很多但找不到解决方案。谁知道怎么解决?
这是方法的声明
- (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
或如上所述的空块