240 发简信
IP属地:香港
  • vscode下使用cmake编译调试

    task.json launch.json 参考:https://www.jianshu.com/p/c3806d2ad1f8[https://www.jianshu.com...

  • 2018-05-22 html横向布局

    标签: 我们都知道html块级元素默认是垂直排列的,而行内元素时水平排列的,而在布局时基本上都是用块级元素,如div等常用块级标签,那么如何让块级元素也进行水平排列呢? 这里...

  • CoordinatorLayout原理研究

    一、CoordinatorLayout介绍 就像其名字一样,CoordinatorLayout作用在于协调子 View 之间的联动,在其出现之前,如要实现多 View 之间的...

  • Git工作原理

    按照官方文档的描述,Git是这样定义的 内容寻址(content-addressable)文件系统,在此之上提供了一个VCS用户界面 Git采用HashTable的方式进行查...

  • 120
    RecyclerView.smoothScrollToPosition了解一下

    前言 最近开发中遇到了一个需求,需要RecyclerView滚动到指定位置后置顶显示,当时遇到这个问题的时候,心里第一反应是直接使用RecyclerView的smoothSc...

  • Could not get unknown property 'bootClasspath' for object of type org.gradle.api.tasks.compile.Co...

    把AS项目更新到AS 3.4.1的时候,出现了一堆问题,最后卡在这句报错上,网上相关的信息很少,更别提解决方案了,绝望之余,看了看别的warning,随手改掉了以下这个war...

  • Mac中用命令行启动AVD模拟器

    找到Android SDK的安装目录,默认为~/Library/Android/sdk/ 命令行 AVD模拟设备所在的目录~/.android./avd/ 每个设备会有一个n...

  • 120
    手机与电脑有何差异?

    手机与电脑有何差异?这看起来就是一个傻问题。 开始考虑这个傻问题有一个更傻的起因:在手机上看到了Adobe的Lr也是个App……作为设计师,条件反射地想:为什么我们大Ps在手...

  • 120
    RecyclerView添加网格分隔线

    原创内容,转载请注明出处:https://www.jianshu.com/p/d774fa56dc1d 前言 上篇文章介绍了如何轻松实现RecyclerView添加分隔线,本...

  • @Little_Moon 现在没有采用 fmod 处理音频。有一个 FMOD_OUTPUTTYPE_WAVWRITER 的参数可以设置导出文件,但是导出时长和音频时长是一样的问题还没有解决。主要处理代码如下,你可以参考一下:

    extern "C"
    JNIEXPORT void JNICALL Java_com_ionesmile_soundstudio_utils_MyFmodProcessor_process(
    JNIEnv *env, jclass jcls,
    jint type, jstring inputPath, jstring outputPath) {

    MyStreamBuf g_MyStreamBuf;
    std::cout.rdbuf(&g_MyStreamBuf);
    std::cout << "SoundRaTAG process() type = " << type <<
    " input = " << inputPath << std::endl;

    FMOD_RESULT result;
    //初始化
    System *system;
    Sound *sound;
    bool playing = true;
    Channel *channel;
    System_Create(&system);
    result = system->setOutput(FMOD_OUTPUTTYPE_WAVWRITER);

    std::cout << "SoundRaTAG testEcho() setOutput() result = " << result << std::endl;

    const char *input_path_cstr = env->GetStringUTFChars(inputPath, NULL);
    const char *output_path_cstr = env->GetStringUTFChars(outputPath, NULL);

    std::cout << "SoundRaTAG testEcho() init outputPath = " << output_path_cstr << std::endl;

    result = system->init(32, FMOD_INIT_NORMAL, (void *) output_path_cstr);

    std::cout << "SoundRaTAG testEcho() system.init() result = " << result << std::endl;

    try {
    system->createSound(input_path_cstr, FMOD_DEFAULT, NULL, &sound);

    system->playSound(sound, 0, false, &channel);

    DSP * dsp = parseTypeToDSP(type, system);
    if (dsp != nullptr) {
    channel->addDSP(0, dsp);
    } else {
    LOGE("DSP is NULL. type = %s ", type);
    }

    } catch (...) {
    std::cout << "参数设置异常" << std::endl;
    goto end;
    }

    while (playing) {
    channel->isPlaying(&playing);
    //单位是微妙
    usleep(1000);
    }
    goto end;

    end:
    env->ReleaseStringUTFChars(inputPath, input_path_cstr);
    env->ReleaseStringUTFChars(outputPath, output_path_cstr);
    sound->release();
    system->close();
    system->release();
    }

    变声总结(声音概念、采集、变声、SoundTouch 和 FMOD 对比等)

    一、声音相关概念 声音是由物体震动产生的,我们可以把从感知的角度分为三种属性: 响度(Loudness),即音量,与振幅有关。 音调(Pitch),即高音和低音,与声音的频率...

  • 重新认识 Gradle 打包

    前一段时间因为打 AAR 包折腾了一整天,不得不怀疑我对 Gradle 的认识。虽然在此之前确实能解决一些 Gradle 打包依赖的冲突或错误,但并没有系统的去学习。 一、G...

  • CentOS 服务器上搭建 Jenkins

    开发环境: 服务器系统:CentOS release 6.5 (Final)服务器内核版本:2.6.32-431.el6.x86_64我的电脑:macOS 登录远程服务器# ...

  • 变声总结(声音概念、采集、变声、SoundTouch 和 FMOD 对比等)

    一、声音相关概念 声音是由物体震动产生的,我们可以把从感知的角度分为三种属性: 响度(Loudness),即音量,与振幅有关。 音调(Pitch),即高音和低音,与声音的频率...