LoginSignup
0
0

More than 1 year has passed since last update.

AAudioを簡単に使う方法

Last updated at Posted at 2022-11-29

 今年の4月~、Androidスマホアプリのプログラミングに着手し、年明けにGooglePlayにリリースできるところまで漕ぎつけた。この開発を通じて、サウンド系やシューティングゲーム系アプリを、Android系のスマホ(GooglePixelなど)で作る場合、AAudioというAPIが必須となることがわかった。いわずもがな、iOS系のスマホ(iPhone)では不要だ。

 さて、AAudioとは、音の発音遅延を数十m秒レベルに短縮(低レイテンシ化ともいう)するものであり、(遅きに失した感はあるが)Androidバージョン8から導入された。これを使うにあたり、AAudioのテンプレートとでもいうサンプル(oboe)が公開され、これを下敷にすれば、当方のようにアプリ系プログラム初挑戦者でも、低レイテンシのアプリが楽に作れてしまう。

 このコラムでは、これからAndroidに挑戦される方に向けて、AAudioの簡単な使い方をまとめた。基本マニュアルは、やはりGoogle純正のサイトを教科書にした方がよい。ここには、アプリ開発ツールであるAndroidStudioのダウンロードの仕方から始まり、GooglePlayにアプリをアップするまでの、一連の開発プロセスについて説明されている。もちろんAAudioの紹介もある。

 それでは、以下に手順をまとめる。

■AndroidStudioをダウンロード/PC上にprojectフォルダを作成。【要注意】Cドライブ(システム領域)に作ってはダメだ。Dなど空領域の大きいドライブに作るべし!

■gitHubからoboeを取得し、projectフォルダに置く。

■oboe内のLiveEffectサンプルを利用。LiveEffectは、マイク入力→スピーカ出力を行うテンプレートなので、音声系の楽器アプリや、ボイスチェンジャーを開発するために格好のサンプルである。

■AndroidStudioにおいて、ファイル→新規→インポート→oboeのファイル直下のsamples(ドロイドアイコン)を選択すると、自動でLiveEffectが展開される。

■LiveEffect内のcppフォルダ内にある、「FullDuplexPass.h」というクラスファイルの46行目に、//do some arbitrary processingというコメントが記載された行があるが、これが「マイク入力ストリームを音量ダウンし、スピーカ出力ストリームに渡している部分」である。この「音量ダウン」の処理を、「あなたがやりたい変換処理(C言語で記述)」に変更してやればよい。因みに、メイン処理(JAVAで記述)とのやり取りは、jni_bridge.cpp(jniという仕組み)で行う。・・・続く・・・

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0