6

助けてください、これをどのように修正しますか?

public class VisualizerCapture extends Activity implements Visualizer.OnDataCaptureListener
private Visualizer mVisualizer;


@Override
public void onCreate(Bundle savedInstanceState){
 super.onCreate(savedInstanceState);
    mVisualizer = new Visualizer(0);
    setupVisualizer();

private void setupVisualizer() {
    mVisualizer.setEnabled(false);
    mVisualizer.setCaptureSize(8);      //test
    mVisualizer.setDataCaptureListener(this,250,false,true);        
            Log.v("ABS","setupVisualizer" + mVisualizer.getEnabled());    //log

このコードはエラーをスローします:ERROR / AudioEffect(2393):set():AudioFlingerはエフェクトを作成できませんでした、ステータス:-22

それはxmlにありました

 <uses-permission android:name="android.permission.RECORD_AUDIO"/>             
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>

logcat:

java.lang.RuntimeException:アクティビティを開始できませんComponentInfo {blabla}:java.lang.RuntimeException:Visualizerエンジンを初期化できません、エラー:android.appのandroid.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)で-4。 ActivityThread.handleLaunchActivity(ActivityThread.java:1981)at android.app.ActivityThread.access $ 600(ActivityThread.java:123)at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1147)atandroid.os.Handler。 dispatchMessage(Handler.java:99)at android.os.Looper.loop(Looper.java:137)at android.app.ActivityThread.main(ActivityThread.java:4424)at java.lang.reflect.Method.invokeNative(Nativeメソッド)at java.lang.reflect.Method.invoke(Method.java:511)at com.android.internal.os.ZygoteInit$MethodAndArgsCaller。run(ZygoteInit.java:784)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)at dalvik.system.NativeStart.main(Native Method)原因:java.lang.RuntimeException:初期化できませんビジュアライザーエンジン、エラー:-3 at android.media.audiofx.Visualizer。(Visualizer.java:182)at com.blablabeta.gui.VisualizerCapture.onCreate(EqVisualizerCaptureAudio.java:27)at android.app.Activity.performCreate(Activity .java:4465)at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)Visualizerエンジンを初期化できません、エラー:-3 at android.media.audiofx.Visualizer。(Visualizer.java:182)at com.blablabeta.gui.VisualizerCapture.onCreate(EqVisualizerCaptureAudio.java:27)at android.app.Activity.performCreate (Activity.java:4465)at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)Visualizerエンジンを初期化できません、エラー:-3 at android.media.audiofx.Visualizer。(Visualizer.java:182)at com.blablabeta.gui.VisualizerCapture.onCreate(EqVisualizerCaptureAudio.java:27)at android.app.Activity.performCreate (Activity.java:4465)at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)

それだ?そして、このエラーを修正する方法は?

4

3 に答える 3

5

Visualizeron session 0を使用する場合はMODIFY_AUDIO_SETTINGS、アクセス許可が必要RECORD_AUDIOですが、そうしないとエラーが発生するため、アプリにアクセス許可があると思いPERMISSION_DENIEDます(-1私が正しく覚えている場合)。

ステータス-22はである必要がありますBAD_VALUE。なぜこれが起こるのかという質問で入手可能な情報からは、私には完全には明らかではありません。おそらく、貼り付けた行に加えて、logcat出力で利用可能なより多くの情報があります。ステータスが表示される理由としてBAD_VALUE考えられるのは、エフェクトが見つからない、エフェクトがすでにエフェクトチェーンに挿入されているなどです。

于 2013-01-30T12:13:36.987 に答える
1

問題は解決し、実際の電話でアプリをテストしました。エミュレータに問題があります。

于 2013-02-01T08:01:55.903 に答える
0

間違えない限り、ユーザーに許可を要求する必要もありますか?追加するのと同じ問題がありました

<uses-permission android:name="android.permission.RECORD_AUDIO"/>  

必要なものの一部にすぎません。こちらをご覧ください:AndroidでRECORD_AUDIO権限をリクエストできません

必要なものをほぼすべて提供します。

于 2021-08-27T13:55:15.047 に答える