91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 10KB
    文件類型: .java
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-05-26
  • 語言: Java
  • 標(biāo)簽: AudioRecord??

資源簡介

網(wǎng)上的通話錄音大多數(shù)都是基于mediarecoder開發(fā)的,我最后反編譯了一款apk,發(fā)現(xiàn)里面用的是audiorecord開發(fā)的,下面是我的核心代碼展示,良心開發(fā),不要差評謝謝

資源截圖

代碼片段和文件信息

package?com.udows.test;

import?android.app.Activity;
import?android.content.Context;
import?android.graphics.PixelFormat;
import?android.media.AudioFormat;
import?android.media.AudioManager;
import?android.media.AudioRecord;
import?android.media.MediaRecorder;
import?android.os.Bundle;
import?android.util.Log;
import?android.view.View;
import?android.view.View.onclickListener;
import?android.view.Window;
import?android.view.WindowManager;
import?android.widget.Button;

import?java.io.File;
import?java.io.FileInputStream;
import?java.io.FileNotFoundException;
import?java.io.FileOutputStream;
import?java.io.IOException;

public?class?MainActivity3?extends?Activity?{

????//?音頻獲取源
????private?int?audioSource?=?MediaRecorder.AudioSource.VOICE_RECOGNITION;
????//?設(shè)置音頻采樣率,44100是目前的標(biāo)準(zhǔn),但是某些設(shè)備仍然支持22050,16000,11025
????private?static?int?sampleRateInHz?=?44100;
????//?設(shè)置音頻的錄制的聲道CHANNEL_IN_STEREO為雙聲道,CHANNEL_CONFIGURATION_MONO為單聲道
????private?static?int?channelConfig?=?AudioFormat.CHANNEL_IN_FRONT;
????//?音頻數(shù)據(jù)格式:PCM?16位每個樣本。保證設(shè)備支持。PCM?8位每個樣本。不一定能得到設(shè)備支持。
????private?static?int?audioFormat?=?AudioFormat.ENCODING_PCM_16BIT;
????//?緩沖區(qū)字節(jié)大小
????private?int?bufferSizeInBytes?=?0;
????private?Button?Start;
????private?Button?Stop;
????private?AudioRecord?audioRecord;
????private?boolean?isRecord?=?false;//?設(shè)置正在錄制的狀態(tài)
????//?AudioName裸音頻數(shù)據(jù)文件
????private?static?final?String?AudioName?=?“/sdcard/love.raw“;
????//?NewAudioName可播放的音頻文件
????private?static?final?String?NewAudioName?=?“/sdcard/new.wav“;

????public?void?onCreate(Bundle?savedInstanceState)?{
????????super.onCreate(savedInstanceState);
????????getWindow().setFormat(PixelFormat.TRANSLUCENT);//?讓界面橫屏
????????requestWindowFeature(Window.FEATURE_NO_title);//?去掉界面標(biāo)題
????????getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN
????????????????WindowManager.LayoutParams.FLAG_FULLSCREEN);
????????//?重新設(shè)置界面大小
????????setContentView(R.layout.activity_main);
????????init();
????}

????private?void?init()?{
????????Start?=?(Button)?this.findViewById(R.id.start);
????????Stop?=?(Button)?this.findViewById(R.id.stop);
????????Start.setonclickListener(new?TestAudioListener());
????????Stop.setonclickListener(new?TestAudioListener());
????????creatAudioRecord();

????}

????private?void?creatAudioRecord()?{
????????//?獲得緩沖區(qū)字節(jié)大小
????????bufferSizeInBytes?=?AudioRecord.getMinBufferSize(sampleRateInHz
????????????????channelConfig?audioFormat);
????????Log.e(“H3c“?“x:“?+?bufferSizeInBytes);
????????//?創(chuàng)建AudioRecord對象
????????audioRecord?=?new?AudioRecord(audioSource?sampleRateInHz
????????????????channelConfig?audioFormat?bufferSizeInBytes*2);
????}

????class?TestAudioListener?implements?onclickListener?{

????????@Override
????????public?void?onclick(View?v)?{
????????????if?(v?==?Start)?{
????????????????startRecord();
????????????}
????????????if?(v?==?Stop)?{
????????????????stopRecord();
????????????}

????????}

????}

????private?void?startRecord()?{
????????setMaxVoice();
????????audioRecord.startRe

評論

共有 條評論