0

デバイスが特定のサンプルレートをサポートしているかどうかを確認したいのですが。

私は次のことを試しましたが(http://developer.android.com/reference/android/media/AudioRecord.html#getMinBufferSize(int、int、int )に従って動作するはずです)、動作しません(AudioRecordを取得することはありません)。 ERROR_BAD_VALUE):

    int bufferSize8000 = AudioRecord.getMinBufferSize(90000000, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT);

    if(bufferSize8000 != (AudioRecord.ERROR_BAD_VALUE | AudioRecord.ERROR ))    {
        Log.v("samplerate", String.valueOf(bufferSize8000));
    } else {

        Log.v("samplerate", "NOTsupported");
    }
4

1 に答える 1

0
(AudioRecord.ERROR_BAD_VALUE | AudioRecord.ERROR )

手段-2| -1は-1に等しく、これは-1に等しいAudioRecord.ERRORため、期待した結果が得られません。

したがって、この

if(bufferSize8000 != (AudioRecord.ERROR_BAD_VALUE | AudioRecord.ERROR ))    {

する必要があります

if (bufferSize8000 != Audiorecord.ERROR_BAD_VALUE && bufferSize8000 != AudioRecord.ERROR) {
于 2013-03-26T15:17:36.637 に答える