要件
AndroidはSDカードで.wavファイルを開き、再生し、エフェクト(エコー、ピッチシフトなど)を追加して、ファイルをエフェクト付きで保存します。単純 :(
私が知っていること
- SoundpoolまたはMediaPlayerを使用してファイルを開いて再生できます。
- 両方を使ってプレイしながら効果を出すことができます。つまり、メディアプレーヤーの場合、環境リバーブ効果を設定できます。SoundPoolを使用すると、ピッチシフトのような再生レートを設定できます。私は今これらを実装することに成功しています。
- ただし、このクラスのいずれにも、再生されたファイルを保存するためのメソッドはありません。だから私は演奏することしかできず、効果的に音楽を保存することはできません。
知りたいこと
- MediaPlayerまたはSoundPool以外に、他に関心のあるクラスはありますか。保存については気にしないでください。クラスについて言及するだけです。ファイルの保存について調査します。
- エフェクトを追加して保存できるサードパーティのライブラリはありますか?それがオープンソースで無料なら幸せです。しかし、それが独占的であっても、それらに言及してください。
- 私が調べることができる他の領域。OpenALは音声ポジショニングとともに音声フィルタリングをサポートしていますか?Androidで動作しますか?
汚い仕事をする準備ができました。道を貸してください。
編集:
もう少し検索して、AudioTrackに出くわしました。ただし、ファイルへの保存もサポートされません。だから、そこにも運がない。編集
わかりました、自分でやったらどうなりますか?wavファイルから生のバイトを取得し、それに取り組みます。AudioRecordを使用してwavファイルを録音し、wavファイルを取得しました。低レベルのオーディオ処理(つまり、バイトレベル)を説明するリソースはありますか?編集
さて、報奨金の時間は終わりました、そして私は私が得た唯一の答えに報奨金を与えています。7日後、私が理解したのは- MediaPlayer、AudioTrackなどを使用して再生したものを保存することはできません。
- 使用できるオーディオ処理ライブラリはありません。
- 生のwavファイルを取得し、オーディオ処理を自分で行うことができます。答えは、wavファイルを読み書きするための優れたラッパークラスを提供しました。wavファイルのピッチを読み取って変更するための優れたJavaコードはここにあります。