Androidレコーディングmp 3


ZlwAudioRecorder
機能
  • AudioRecordによる録音
  • pcm、wav、mp 3オーディオの録画
  • を実現
  • 録音の音量、および録音byteデータ
  • をリアルタイムで取得する.
  • wav/mp 3録音ファイルを取得する時間
  • 録音のサンプリングレート、ビット幅(v 1.04更新)
  • を構成することができる.
  • 録音可視化(v 1.05更新)
  • Gradle
    dependencies {
            implementation 'com.github.zhaolewei:ZlwAudioRecorder:v1.07'
    }
    
    allprojects {
        repositories {
            ...
            maven { url 'https://www.jitpack.io' }
        }
    }

    使用方法
  • 初期化
  • init
    /**
    *   1: Application   
    *   2:          
    */
    RecordManager.getInstance().init(MyApp.getInstance(), false);
  • インベントリファイルにServices
  • を登録する
  • 録音権限の確保
  • 録音にはAudioRecordクラスを使用する必要があります.ここでは、彼の構造方法のパラメータの意味public AudioRecord(int audioSource,int sampleRateInHz,int channelConfig,int audioFormat,int bufferSizeInBytes)について説明します.コンストラクタのパラメータはたくさんありますが、少しずつ見てみましょう.-audioSource:音源、一般的にMediaRecorderを使用しています.AudioSource.MICはマイク-sampleRateInHzから来ている:公式には44100 Hzだけがすべてのデバイスでサポートされていることが明らかになった.他の22050、16000、11025は、一部のデバイスでのみ使用できます.-channelConfig:ステレオ(CHANNEL_IN_STREO)とモノラル(CHANNEL_IN_MONO)の2種類があります.ただし、すべてのデバイスでサポートされているのは、シングルチャネル(CHANNEL_IN_MONO)のみです.-audioFormat:ENCODINGありPCM_16 BITとENCODING_PCM_8 BITの2種類のオーディオ符号化フォーマット.同様に、公式声明はENCODINGのみです.PCM_16 BITはすべてのデバイスでサポートされています.-bufferSizeInBytes:録音中の音声データの書き込みバッファサイズ(バイト単位).ここでパラメータaudioSource,sampleRateInHz,channelConfig,audioFormatはいずれも必要に応じて選択可能であり,bufferSizeInBytesというパラメータのみが計算により得る必要がある.計算方法を紹介する前に、オーディオデータの読み取りと変換を見てみましょう.
  • 配置録音パラメータ
  • 録音フォーマットの変更(デフォルト:WAV)mp 3
     RecordManager.getInstance().changeFormat(RecordConfig.RecordFormat.MP3);
  • 録音構成
         RecordManager.getInstance().changeRecordConfig(recordManager.getRecordConfig().setSampleRate(16000));
         RecordManager.getInstance().changeRecordConfig(recordManager.getRecordConfig().setEncodingConfig(AudioFormat.ENCODING_PCM_8BIT));
  • を修正する.
  • 録音ファイルの保存場所(デフォルトsdcard/Record)
       RecordManager.getInstance().changeRecordDir(recordDir);
  • を変更
  • 録音状態傍受
    RecordManager.getInstance().setRecordStateListener(new RecordStateListener() {
       @Override
       public void onStateChange(RecordHelper.RecordState state) {
           }
       }
    
       @Override
       public void onError(String error) {
       }
    });
  • 録音結果傍受
    RecordManager.getInstance().setRecordResultListener(new RecordResultListener() {
       @Override
       public void onResult(File result) {
       }
    });
  • 音声サイズ傍受
     RecordManager.getInstance().setRecordSoundSizeListener(new RecordSoundSizeListener() {
        @Override
        public void onSoundSize(int soundSize) {
        }
    });
  • オーディオデータ傍受
      recordManager.setRecordDataListener(new RecordDataListener() {
         @Override
         public void onData(byte[] data) {
         }
     });
  • オーディオ可視化データ傍受
       recordManager.setRecordFftDataListener(new RecordFftDataListener() {
          @Override
          public void onFftData(byte[] data) {
              audioView.setWaveData(data);
          }
        });
    
    
        
  • 録音を開始/録音を一時停止/録音を再開/
    RecordManager.getInstance().start()/pasue()/resume()/stop();
  • を停止する.
    一番嫌いなソースはあなたたちにあげます.https://github.com/zhaolewei/ZlwAudioRecorder