Unity開発~初心者使い方ブログ

Unityを使ってアプリやゲームを作る作業備忘録です

マイクの音量をリアルタイムで数値化したい~Unity

アンドロイドでは結構すぐに出来たが、

なぜかiOSではうまく動かない

 

よくわからないまま作ったのが悪かった・・・

 

ので、

キメラソース

※いろんな方々のネット情報を参考にしてなんとか取り繕うプログラムソース

 

 

と同時に、

いまさら、キチンとおさらいしようと、覚悟を決めた・・・

 

そもそも、Unity上での音の扱いを振り返る・・・

teratail.com

・AudioClip→楽器
・AudioSource→演奏者
・AudioMixer→指揮者
・AudioListener→聞き手 

 

なんて、わかりやすいんだ・・・

tips.hecomi.com

 

【 マイクを使ってみる 】

流れとしてはマイクデバイスを検知して、

そのデバイスをスタート→Audioソースにマイクからの音をのっける

 

これで、audioソースにマイクで拾った音が鳴り響く

※ 拾った音が再生されて、その音がまた拾われて…となってハウリングが起こる

↓対策として、この方法が一番かも知れない…(audio.mute = true;にすると、audio.GetOutputData(data, 0);が使えない???)

Unity:マイクの音量を取得する(2) - Qiita

 

【音を解析する】

マイクの音の再生までできたら、オーディオソース(マイク音)の値を解析する

audio.GetOutputData(waveData_, 1);

といった具合に、waveData_に値が入ってくるようです。

Unity のオーディオの再生・エフェクト・解析周りについてまとめてみた - 凹みTips

 

 

この値(配列waveData_)を使って平均的音量を取得できそうです

マイク入力の音量を用いてオブジェクトを呼び出すサンプル【Tips】

 

※全部、「そうです」というあまりわかっていない状態。

おさらいしようと思っても、もう私の知能では追いつかないレベル。

 

とりあえず、以上の流れで処理は出来たようです。

 

あとでこういった便利そうなモノも見つけました。

→ちょっとイマイチわからない部分があったので、

実際には使用していません。

【Unity】オーディオの周波数スペクトルを取得できる「unity-audio-spectrum」紹介 - コガネブログ

 

 

 

 

ちなみに、iOSではマイク仕様の許可をinfo.plistに記述する必要がありますが、

playersetteingで設定しておけば自動でxcodeに引き継いでいるようです。

  

 

 

unity-michi.com

 

www.jonki.net

 

 

unityでソーシャルボタンを表示したい

ツイッターフェイスブック・ラインのシェアボタンを画像つきで表示したいと思いアセットを探しました。

 

ちょうど、良さそうな記事が・・・

nn-hokuson.hatenablog.com

 

ありがたく参考にさせていただこうと思います。(感謝)

 

画像がうまく添付されない

www.clrmemory.com

 

 

StreamingAssetsフォルダのjsファイルがエラーになってビルドできない問題

StreamingAssetsフォルダのファイルはjavascriptがあってもビルド(というかコンパイル?)を無視するって聞いたのになぜか、エラーになる・・・

 

あれこれやるとなぜか動いた

 

あれこれの内容

 

別Unityのバージョンで開く(2018以外なら大丈夫だった)

 

Build Systemをinternalにする

 

Unity再起動する

 

どれが良かったのかは謎

 

unityで一番簡単なローカライズ(多言語化)方法

アセットなど使うって手もあるんですが、

そこまでボリュームがないので、一番楽そうな方法を探しました。

 

application.hateblo.jp

 

こちらのブログ様を参考に・・・

 

【ストアでの対応】

 

Google Play Store

[Android開発]Google Playストアで英語表記に対応する方法 | エリコリドットコム

 

 ポイントは、デフォルトの言語を設定しておくことです。

私は、英語をデフォルトにして、日本語をローカライズにしました。

 

 

 

ImageEffectがなくなっている

Standard Package自体がもう標準では入っていないっぽい??

 

とりあえず、UnityStoreのLegacy Image Effectsってアセットのがあるので

ソレをimportすると良い感じっぽい。

unityを複数起動する

一度にUnityエディターを複数起動する場合、

ターミナルを開いて

open -n /Applications/Unity/Unity.app

 

とするようです。

 

ちなみに、 /Applications/Unity/Unity.appの部分は、

ショートカットをドラッグアンドドロップすると

 

他バージョンのUnityが起動するので便利

 

 メモ的に。

 

【 参考ページ 】

Unityを複数起動させる - Qiita