Audiorecord全方位解析

一、Audiorecorder巨魔

Audiorecorder是一款非常流行的錄音應用,具有易用性和高質量錄音的特點。它支持錄製不同長度的音頻片段,並提供自動增益控制、噪音消除、壓縮、回放和保存功能。

如果你是一位愛好者,你可以選擇免費的版本,但如果你是一位專業的音樂人,你會更願意花費一些費用來獲得更多功能和更高質量的錄音結果。無論你選擇哪個版本,你都會被Audiorecorder的簡單易用性和準確性所吸引。

public class MainActivity extends AppCompatActivity {

    private static final String LOG_TAG = "AudioRecordTest";
    private static String mFileName = null;

    private RecordButton mRecordButton = null;
    private MediaRecorder mRecorder = null;

    private PlayButton   mPlayButton = null;
    private MediaPlayer   mPlayer = null;

    private void onRecord(boolean start) {
        if (start) {
            startRecording();
        } else {
            stopRecording();
        }
    }

    private void onPlay(boolean start) {
        if (start) {
            startPlaying();
        } else {
            stopPlaying();
        }
    }

    private void startPlaying() {
        mPlayer = new MediaPlayer();
        try {
            mPlayer.setDataSource(mFileName);
            mPlayer.prepare();
            mPlayer.start();
            mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                @Override
                public void onCompletion(MediaPlayer mp) {
                    stopPlaying();
                }
            });
        } catch (IOException e) {
            Log.e(LOG_TAG, "prepare() failed");
        }
    }
    private void stopPlaying() {
        mPlayer.release();
        mPlayer = null;
    }

    private void startRecording() {
        mRecorder = new MediaRecorder();
        mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
        mRecorder.setOutputFile(mFileName);
        mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

        try {
            mRecorder.prepare();
        } catch (IOException e) {
            Log.e(LOG_TAG, "prepare() failed");
        }

        mRecorder.start();
    }

    private void stopRecording() {
        mRecorder.stop();
        mRecorder.release();
        mRecorder = null;
    }

    class RecordButton extends androidx.appcompat.widget.AppCompatButton {
        boolean mStartRecording = true;

        OnClickListener clicker = new OnClickListener() {
            public void onClick(View v) {
                onRecord(mStartRecording);
                if (mStartRecording) {
                    setText("Stop");
                } else {
                    setText("Record");
                }
                mStartRecording = !mStartRecording;
            }
        };

        public RecordButton(Context context) {
            super(context);
            setText("Record");
            setOnClickListener(clicker);
        }
    }

    class PlayButton extends androidx.appcompat.widget.AppCompatButton {
        boolean mStartPlaying = true;

        OnClickListener clicker = new OnClickListener() {
            public void onClick(View v) {
                onPlay(mStartPlaying);
                if (mStartPlaying) {
                    setText("Stop playing");
                } else {
                    setText("Start playing");
                }
                mStartPlaying = !mStartPlaying;
            }
        };

        public PlayButton(Context context) {
            super(context);
            setText("Start playing");
            setOnClickListener(clicker);
        }
    }
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mFileName = getExternalCacheDir().getAbsolutePath();
        mFileName += "/audiorecordtest.3gp";

        ActivityCompat.requestPermissions(this, permissions, REQUEST_RECORD_AUDIO_PERMISSION);

        LinearLayout ll = new LinearLayout(this);
        mRecordButton = new RecordButton(this);
        ll.addView(mRecordButton,
                new LinearLayout.LayoutParams(
                        ViewGroup.LayoutParams.WRAP_CONTENT,
                        ViewGroup.LayoutParams.WRAP_CONTENT,
                        0));
        mPlayButton = new PlayButton(this);
        ll.addView(mPlayButton,
                new LinearLayout.LayoutParams(
                        ViewGroup.LayoutParams.WRAP_CONTENT,
                        ViewGroup.LayoutParams.WRAP_CONTENT,
                        0));
        setContentView(ll);
    }
}

二、Audiorecorder xs 破解版

Audiorecorder xs是Audiorecorder的升級版本,提供更多功能和更優質的錄音效果。雖然Audiorecorder xs是一款付費應用程序,但用戶可以在互聯網上找到各種破解版本,以此來獲得這款應用程序的更多功能。

事實上,這些破解版不僅提供了Audiorecorder xs的所有功能,而且還提供了其他附加功能,例如在線音樂播放和音頻編輯等功能。然而,使用這些破解版可能會存在許多安全問題和版本問題,因此建議用戶支持正版產品。

三、Audiorecorder xs錄音在哪裡

在Audiorecorder xs應用程序中錄音非常簡單,只需按下「錄音」按鈕即可開始錄製。Audiorecorder xs將自動保存錄製的音頻片段,並將其保存在應用程序的內部存儲器中。

四、AudioRecording軟體

AudioRecording是一款支持多種音頻格式的免費錄音應用程序。它提供了高質量錄音、編碼和播放功能,支持自動增益控制、噪音消除、壓縮等功能。此外,它還支持WAV、FLAC、MP3等多種音頻格式,可以滿足用戶的不同需求。

五、Audio Recorder蘋果版

Audio Recorder是一款專業的錄音應用程序,專門為蘋果手機和平板電腦開發。它支持高質量錄音和多種音頻格式,包括WAV、FLAC、MP3等。此外,它還具有噪音消除和自動增益控制等高級功能,可以為用戶提供更好的錄音體驗。

六、Audio

Audio是一種基於Web的音頻播放介面,允許在Web瀏覽器中播放音頻。它實現了多種格式的音頻編解碼,並通過HTML5和JavaScript等技術,實現了從音頻文件、網路、麥克風等多個來源收集音頻數據。Audio在網路廣播、在線教育等領域有著廣泛的應用。

七、Audio in

Audio in是指麥克風、電吉他、鋼琴、電腦電影等聲音輸入設備。在錄音過程中,音頻數據可以通過這些設備進行採集,並發送到計算機中進行處理。為了獲取高質量的音頻錄製結果,用戶可以在錄音過程中選擇不同的音頻輸入設備。

八、Audio guide

Audio guide可以被定義為一種用聲音來觀察、探索、解釋展覽或其他類似的地方的工具。它基於觀眾個人的需求和特點,以音頻形式提供有關場景的實時信息。它不僅可以提高觀眾的參與度和吸引力,還可以為參觀者提供更深入的了解。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/279043.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-20 15:02
下一篇 2024-12-20 15:02

發表回復

登錄後才能評論