Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在PlaybackParams应用程序中设置音高_Android_Android Studio - Fatal编程技术网

Android 在PlaybackParams应用程序中设置音高

Android 在PlaybackParams应用程序中设置音高,android,android-studio,Android,Android Studio,我正在使用AudioManager录制音频 所以,每当我尝试使用setPitch函数设置音调时,我的应用程序就会崩溃 注意:samplerate=8500 这是代码 buttonPlayLastRecordAudio.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) throws IllegalAr

我正在使用AudioManager录制音频

所以,每当我尝试使用setPitch函数设置音调时,我的应用程序就会崩溃

注意:samplerate=8500

这是代码

            buttonPlayLastRecordAudio.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) throws IllegalArgumentException,
                    SecurityException, IllegalStateException {

                buttonStop.setEnabled(false);
                buttonStart.setEnabled(false);
                buttonStopPlayingRecording.setEnabled(true);

                mediaPlayer = new MediaPlayer();
                try {
                    mediaPlayer.setDataSource(AudioSavePathInDevice);
                    mediaPlayer.prepare();
                } catch (IOException e) {
                    e.printStackTrace();
                }

                params.setPitch(samplerate);
                mediaPlayer.setPlaybackParams(params);
                mediaPlayer.start();
                Toast.makeText(MainActivity.this, "Recording Playing",
                        Toast.LENGTH_LONG).show();
            }
        });
下面是错误信息

    2020-02-20 18:43:33.574 9544-9577/com.mycompany.testaudio E/MemoryLeakMonitorManager: MemoryLeakMonitor.jar is not exist!
2020-02-20 18:43:33.587 9544-9592/com.mycompany.testaudio E/AwareLog: AtomicFileUtils: readFileLines file not exist: android.util.AtomicFile@f96188d
2020-02-20 18:43:37.561 9544-9544/com.mycompany.testaudio E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.mycompany.testaudio, PID: 9544
    java.lang.IllegalArgumentException
        at android.media.MediaPlayer.setPlaybackParams(Native Method)
        at com.mycompany.testaudio.MainActivity$3.onClick(MainActivity.java:162)
        at android.view.View.performClick(View.java:6659)
        at android.view.View.performClickInternal(View.java:6631)
        at android.view.View.access$3100(View.java:790)
        at android.view.View$PerformClick.run(View.java:26187)
        at android.os.Handler.handleCallback(Handler.java:907)
        at android.os.Handler.dispatchMessage(Handler.java:105)
        at android.os.Looper.loop(Looper.java:216)
        at android.app.ActivityThread.main(ActivityThread.java:7625)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)

8500
的“变桨”系数太高了。此参数的安全范围可能介于
0.5
-
3.0
之间(猜测)<代码>1.0对应“无变桨”


不幸的是,我找不到关于实际限制的文件;您可能需要简单地通过捕获异常来确定您提供的值是否超出范围。

不客气。别忘了接受这个答案:)