Giter VIP home page Giter VIP logo

recordwav's Introduction

Android Wav Audio Recorder

中文 | In English

API Version

下载demo.apk

录制播放解析 于一体的wav文件的工具类。

功能包括:

  • 录制
    • 录制wav/pcm文件。(开始、暂停、继续、完成)
    • 两种模式:普通模式 (全录制),跳过静默区域模式 (只录有声部分)
  • 播放wav文件。(自定义播放、系统播放)
  • 解析本地wav文件的信息

show_recorder

快速使用

Step 1. Add it in your root build.gradle at the end of repositories:

    allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }

Step 2. Add the dependency

    dependencies {
        implementation 'com.github.shaoshuai904:RecordWav:1.2.1'
    }

示例代码

构造参数:[ 文件保存路径 + 参数配置 + 各类监听回调(音频数据块拉取监听/沉默监听) ]
方法:startRecording  pauseRecording  resumeRecording  stopRecording

获取普通录音机(java)

    Recorder recorder;
    recorder = MsRecorder.wav(
        new File("savePath"),
        // new AudioRecordConfig(), // 使用默认配置
        new AudioRecordConfig(
            MediaRecorder.AudioSource.MIC, // 音频源
            44100, // 采样率,44100、22050、16000、11025 Hz
            AudioFormat.CHANNEL_IN_MONO, // 单声道、双声道/立体声
            AudioFormat.ENCODING_PCM_16BIT // 8/16 bit
        ),
        new PullTransport.Default()
            .setOnAudioChunkPulledListener(new PullTransport.OnAudioChunkPulledListener() {
                @Override
                public void onAudioChunkPulled(AudioChunk audioChunk) {
                    Log.d("数据监听", "最大值: " + audioChunk.maxAmplitude());
                }
            })
    );

    recorder.startRecording(); // 开始
    recorder.pauseRecording(); // 暂停
    recorder.resumeRecording(); // 重新开始
    recorder.stopRecording(); // 结束

获取降噪录音机,跳过沉默区,只录"有声音"的部分(kotlin)

    MsRecorder.wav(
        File("savePath"),
        AudioRecordConfig(),
        PullTransport.Noise().setOnAudioChunkPulledListener { audioChunk ->
            Log.d("maple_log", "最大值 : ${audioChunk.maxAmplitude()} ")
        }.setOnSilenceListener { silenceTime, discardTime ->
            Log.e("降噪模式", "沉默时间:$silenceTime ,丢弃时间:$discardTime")
        }
    )

recordwav's People

Contributors

shaoshuai904 avatar mapleshao avatar haohao9102 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.