1

我正在制作一个在 Apple Watch 中播放声音的功能。我在这个链接中发现了一个同样问题的问题:在 Apple Watchkit 中播放声音,但是它的 Swift 代码。
在 Objective-C 中,我无法使用 WKAudioFileAsset 声明变量。像这样在 Swift 中声明时很容易:var player: WKAudioFilePlayer!. 我不知道如何在 Objective-C 代码中使用这个类。在我的代码中键入它时,没有看到任何工具提示建议。这是我的代码:

- (void)awakeWithContext:(id)context {
[super awakeWithContext:context];

[self.wkButtonGroup setBackgroundImageNamed:@"parts_voice_recog01.png"];
[self.wkButtonGroup startAnimatingWithImagesInRange:NSMakeRange(0, 16) duration:1 repeatCount:0];
// Configure interface objects here.

NSBundle* myBundle = [NSBundle mainBundle];
NSURL* fileUrl = [myBundle URLForResource:@"bird" withExtension:@"wav"];
//    [[WKAudioFilePlayer playerWithPlayerItem:[WKAudioFilePlayerItem playerItemWithAsset:[WKAudioFileAsset assetWithURL:fileUrl]]] play];

WKAudioFileAsset *asset = [WKAudioFileAsset assetWithURL:fileUrl];
WKAudioFilePlayerItem *item = [WKAudioFilePlayerItem playerItemWithAsset:asset];
WKAudioFilePlayer *player = [WKAudioFilePlayer playerWithPlayerItem:item];
[player play];

它有一个错误发生,它说:使用声明的标识符“ WKAudioFileAsset
”和“WKAudioFilePlayer”。请帮我!

4

1 回答 1

0

最后我发现我的错误在哪里。出现此问题的原因是我在Target Membership中勾选了 iphone 版本(不知道它的正确名称),如下图所示:
在此处输入图像描述

当从 Watch 扩展名中的所有 .m 文件中删除它时,我的代码可以正常运行。
我的回答将帮助某人面对这个问题。

于 2015-07-27T04:00:05.677 回答