android - super 记录器 : not creating temp file or recording any audio

标签 android c++ android-ndk superpowered

我认为我错误地将 SuperpoweredAndroidAudioIO 传递给了 SuperpoweredRecorderprocess() 方法。

我的流程回调如下所示:

bool SuperpoweredExample::process(short int *audioIO, unsigned int numberOfSamples) {
    if (recording) {
        recordProcess(audioIO, numberOfSamples);
    }
    return true;

记录过程:

void SuperpoweredExample::recordProcess(short *input, unsigned int numberOfSamples) {

    SuperpoweredShortIntToFloat(input, stereoBuffer, numberOfSamples);

    __android_log_print(ANDROID_LOG_VERBOSE, "SuperpoweredExample", "%i",
                        recorder->process(stereoBuffer, NULL, numberOfSamples));
}

SuperpoweredRecorderprocess() 总是返回 0,所以它还没有开始记录。我认为这是因为我没有正确传递输入。

更多相关代码:

stereoBuffer = (float *) memalign(16, (buffersize + 16) * sizeof(float) * 2);
audioSystem = new SuperpoweredAndroidAudioIO(samplerate, buffersize, true, true,
                                                 audioProcessing, this, -1, SL_ANDROID_STREAM_MEDIA,
                                                 buffersize * 2);

我的 onRecord():

void SuperpoweredExample::onRecord(bool record) {
    if (!record) {
        recording = false;
        recorder->stop();
    } else {
        recording = true;
        __android_log_print(ANDROID_LOG_VERBOSE, "SuperpoweredExample", "%s", tempPath.c_str());
        recorder->start((tempPath + "_TEMP").c_str());
    };
}

如何使用 SuperpoweredRecorder 创建文件?

我已经尝试创建另一个缓冲区来记录,但我遇到了同样的问题。我应该使用 createWav() 吗?它说只将其用于离线处理。

最佳答案

我为记录添加了一个单独的缓冲区,这似乎有效。

关于android - super 记录器 : not creating temp file or recording any audio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40554615/

相关文章:

c++ - 拔下 USB 串行电缆时发送信号

android - 在 Android Studio 中编译后,我的 APK 内容是 1980 年的吗?

java - Android NDK 在使用 ART 调用静态方法的 CallObjectMethod 中崩溃

java - Android:倒数计时器,例如10:00 到 00:00?使用 OnclickListener 到 TextView?

java - 使用Decoder的addWord方法时出错

c++ - 读取二进制文件并转换为整数数组时出现问题

c++ - 将 vector 作为空指针传递给函数

android - 如何在android框架[AOSP] java文件(不是Android Studio或Java IDE)中使用像jsoup库这样的外部jar

android - 在 MvxFragment 中关闭/隐藏 Android 软键盘

android - 如何在不考虑时间的情况下从 unixtime(integer) 列包含当前日期的表中选择记录?