iPhoneからのオーディオを録音するiOSコードの機能があります。WatchKitボタンを使用してiPhoneから録音する
WatchKitアプリからボタンを押した後に録画を開始したいと思います。録音は電話ではなく、リンゴの時計で行われます。
WatchKitで次のコードを使用してiPhoneに信号を送信して録画を開始します。
[self.session sendMessage:@{"command": "start"} replyHandler:nil errorHandler:nil]
iOSコードには次のハンドラがあります。
- (void) session:(WCSession *)session didReceiveMessage:(NSDictionary<NSString *,id> *)message replyHandler:(void (^)(NSDictionary<NSString *,id> * _Nonnull))replyHandler
WatchKitからコマンドを受け取ると、私はiOSコードで記録機能を呼び出しました。
正常に実行されます。ただし、出力ファイルは空で、データ長は0です。
これは可能ですか?またはWatchKitから別途録画する必要がありますか?
ありがとうございました。
アプリがフォアグラウンドでのみ録音できるのは、おそらく許可の問題です。 watchOSの 'sendMessage'は、iOSアプリをフォアグラウンドに持ち込みません。 iOSアプリでオーディオをフォアグラウンドまたはバックグラウンドで録音していますか? –
@ PetahChristian、私のアプリは今バックグラウンド録音しています。私はWatchKitを押したときに赤いダブルステータスバーを見ることができます。しかし、私のファイルのデータ長はまだゼロです。ありがとう... – moeseth
@PetahChristian、私はそれを解決することができました。バックグラウンドスレッドから関数を呼び出しているからです。 GCDを使用してメインスレッドから呼び出して解決しました。ありがとう。 – moeseth