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

最後に、どこが間違っているかを見つけました。この問題は、下の図のように、ターゲット メンバーシップで iphone バージョン (正しい名前がわからない) にチェックを入れたために発生します。
ここに画像の説明を入力

Watch 拡張機能のすべての .m ファイルから削除すると、コードが正しく実行されます。
ホーム 私の答えは、誰かがこの問題に直面するのに役立ちます。

于 2015-07-27T04:00:05.677 に答える