MediaPlayer がデータを再生するサンプリング レートを変更する方法があるかどうか疑問に思っています。それを微調整して、エンコードされた速度よりも遅い速度でデータを再生したいと思います。考え?
1638 次
1 に答える
0
これは MediaPlayer では実行できないかもしれませんが、オーディオの場合はSoundPoolで実行できます。
再生速度も変更できます。再生レートが 1.0 の場合、サウンドは元の周波数で再生されます (必要に応じて、ハードウェア出力周波数にリサンプリングされます)。再生レートが 2.0 の場合、サウンドは元の周波数の 2 倍で再生され、再生レートが 0.5 の場合は、元の周波数の半分で再生されます。再生レートの範囲は 0.5 ~ 2.0 です。
元の質問ではこれについて言及していませんでしたが、周波数を変更しながらピッチを維持したい場合は、ピッチシフトアルゴリズムを提供する必要があります。おそらくandroid.media.audiofxパッケージに 1 つあるでしょう。ある種のピッチ シフターを返す可能性のあるqueryEffects()メソッドがあります。
MediaPlayer の場合、オーディオ ストリームを処理できるattachAuxEffectメソッドを見ることができます。
于 2013-02-08T19:14:44.267 に答える