前提
趣味でシーケンサー風味のアプリを作っています。
wavetoneのようにストレージの音楽ファイルを、スペクトラム表示させたいです。
サンプルデータの取得方法を探しています。
ファイルをWWW.GetAudioClipで読み込むことはできました。
しかし、AudioClip.GetDataで、LoadTypeがDecompress on Loadではないとエラーが出ました。
GetDataである必要はないですが、どんな方法がいいかわかりません。
- byte[]→サンプルデータ(float[])
各形式の仕組みを理解していないので、書きようがない。
unityでffmpegをandroidで利用できるらしいのでwavに変換する?
- GetDataできるようにAudioClipを何かする?
何かとは
- GetSpectrumDataするたびファイルと時間を記録
曲全体を記録するたび、おそらく結果が変わる。
また、耳コピ用なので不向き?
どうすればサンプルデータを取得できますか?
実現したいこと
発生している問題・エラーメッセージ
AudioClip.GetDataは、LoadTypeがDecompress on Loadでなければ0として出力されてしまう。
WWW.GetAudioClipしたClipをGetDataしたいが、その方法があるかわからない。
該当のソースコード
AudioClip audioClip = www.GetAudioClip(false, true);
試したこと
- GetAudioClip→AudioClip.GetDataでの取得。
LoadTypeでエラー。
- AudioSource(及びAudioListener).GetSpectrumData
取得はできるが、曲全体の音を取得したいのでほぼ没。。。
補足情報(FW/ツールのバージョンなど)
Unity 2021.1.16f1 Personal
主にAndroid、Editorで使用
0 コメント