2017-12-19 24 views
2

トレーニング中に音声フィードバックを与えるWatchKitアプリを構築しようとしています。オーディオは短い録音済みの音声クリップのシリーズです。バックグラウンドで画面がオフのときにWatchKitワークアウトアプリでオーディオを再生する

  • アプリはアプリがあるとき
  • オーディオクリップが細かいプレーワークアウトセッションを開始アクティブ
  • 画面が(タップすることで、例えば上にありながら、アプリがバックグラウンドで動作しているとき、オーディオにも罰金果たしていますデジタルクラウン、または別のアプリを開く)。

ただし、画面がオフになるとトレーニングを開始して手首を下げることで、アプリが再びアクティブになるまでオーディオは再生されません。

すなわち

  1. スタートワークアウト+画面上のアプリを保つ=音は大丈夫果たしています。
  2. トレーニングを開始+デジタルクラウンをタップしてアプリをバックグラウンドに移動+画面をオンにする=サウンドは正常に再生されます。
  3. トレーニングを開始する+手首を下げる=画面がオフになり、サウンドは再生されなくなります。
  4. ワークアウトを開始+アプリを背景に移動+下の手首=画面がオフになり、サウンドは再生されなくなります。私は、画面がオフのときのトレーニングアプリでオーディオをサポートするために見逃しているかを把握しようとしている

...

  • アプリがアクティブHKWorkoutSessionを持っています。
  • 拡張はWKBackgroundModes
  • 下拡張を有効に「トレーニング処理」バックグラウンドモードもUIBackgroundModes下で有効「オーディオ」バックグラウンドモードを有しています。
  • 拡張機能にHealthKit資格があり、すべてのHealthKit機能が動作しています。
  • iOSアプリでは、「オーディオ」バックグラウンドモードを追加しました。

私が試してみた:

  • AVAudioEngine + AVAudioPlayerNode
  • が完全にクリップをあきらめる使用してオーディオを再生AVAudioPlayer
  • を使用してオーディオクリップを再生し、

AVSpeechSynthesizerを使用して振る舞いは同じです - 画面が消えるとすぐに、サウンドは消えませんonger play。アプリがバックグラウンドにあり、画面がオンの場合、サウンドは再生されます。

アプリはWatch OS 4で動作しています。私はSeries 2とSeries 3の時計でテストしましたが、両方で同じです。

私は何が欠けていますか?

+0

これを実行するアプリがありますか? –

+0

これはNike +の実行アプリケーションで実行されるフィードバックです(私はオーディオがクリップで構成されていると仮定しています)。 Strava実行中のアプリは、実行中の音声フィードバックを与えるために管理して - 私は、彼らは私も試してみましたAVSpeechSynthesizerを、使用していると同じ問題を見つけることだと思っ...私が適切に動作からのバックグラウンドオーディオを妨げている何かを見逃しているようです。それは画面がオンのままでいる間だけ再生するようだ... –

+0

これを実行しているデバイスは何ですか?この機能は新しいデバイスに限定できますか? –

答えて

3

ああ、最終的に私はthisポストを見つけたと私は同じ問題を抱えていたが実現:

AVAudioSessionカテゴリは(私は周囲にそれを設定していた)AVAudioSessionCategoryPlaybackに設定する必要があります。

セッションカテゴリをAVAudioSessionCategoryPlaybackに変更するとすぐに機能しました。

+0

修正プログラムが見つかりました!これはとにかく他人を助けるでしょう! –

1

バックグラウンドであなたも離れて、「ワークアウト処理」バックグラウンドモードを設定から拡張plistの中で「オーディオ」にUIBackgroundModesを設定する必要がありながら、音声を再生するには。

Refrence HKWorkoutSession

オーディオを再生したり、バックグラウンドからの触覚フィードバックを提供するため、また、あなたのWatchKit拡張子のInfo.plistファイルにUIBackgroundModesキーを追加する必要があります。このキーの値は、オーディオ値を含む配列です。

+0

ありがとうございますが、私はこれをしました。拡張機能のInfo.plistには、UIBackgroundModes: "audio"、 "location"、およびWKBackgroundModes: "workout-processing"が含まれています。 –

関連する問題