このAudioTrack警告が表示されます
AUDIO_OUTPUT_FLAG_FAST denied by client
私のAndroidサブクラス化するボタンのアプリ。ボタンをタップするとクリック音が聞こえるので、心配する必要はありますか?
注:この質問のように、不一致のサンプルレートメッセージは表示されません。 AudioTrack:AUDIO_OUTPUT_FLAG_FASTは、サンプルレートの不一致
ほとんどの場合、可能であれば低遅延再生を使用するためにタップサウンドにAUDIO_OUTPUT_FLAG_FAST
が割り当てられましたが、AudioTrack
クラスはトラック設定が低遅延オーディオ出力と互換性がないと見なしました。フラグが削除され、トラックはフラグが最初から設定されていないかのように扱われました。だから、私はこれを心配するものとは思わないでしょう。
フラグが拒否された理由については、おそらく、最も可能性の高い理由はサンプルレートの不一致だと思います。リンクした質問のログは、AOSPの this commit に追加されたようです。しかし、 多くのQualcommベースのデバイスで使用されるコードベースのマスターブランチ を見ると、サンプルレートの不一致があった場合、"AUDIO_OUTPUT_FLAG_FAST denied by client"
ログがまだあることがわかります。どのログを取得するかは、デバイスで実行されている正確な実装(つまり、どのデバイスとAndroid実行しているバージョン)によって異なります。
「frameworks/base/frameworks/av/hardware/libhardware」の場所でサンプルレートを変更してみてください。
デフォルトのサンプルレートは44100です。必要なサンプルレートを設定してみてください(オーディオファイルにあります)。それが動作します。
乾杯。