導航:首頁 > 操作系統 > androidaac音頻錄制

androidaac音頻錄制

發布時間:2023-03-14 17:36:37

⑴ 如何在智能手機上錄制高質量的音頻,方法在這里拿走不謝


大部分時間我都用我的專用麥克風錄制音頻,但是,有時它不可用,而智能手機是您手頭的唯一選擇。我們將研究如何針對這些實例優化您的智能手機以獲得最佳質量的錄音。無論您是像我這樣的 android 用戶,還是擁有 Apple 設備,這些提示中的大多數都是通用的。

因此,以下是使用智能手機錄制時提高音頻質量的方法,我將為大家詳細講解:

一.將設備靠近您的嘴巴

智能手機中的內置麥克風已經隱藏在設備中,從而降低了它們的靈敏度。盡量與麥克風保持較短距離,以盡可能錄制最高質量的音頻。一個好的距離是離麥克風大約一兩個拳頭。這將有助於錄制更響亮的人聲,這非常重要,因為您希望聲音盡可能響亮(不剪輯音頻),從而使背景噪音不那麼明顯。

另外,請確保您沒有用外殼、手指或桌子擋住麥克風。始終注意您的內置智能手機麥克風所在的位置,並確保它指向您的嘴,沒有任何阻礙。在大多數手機上,麥克風位於底部。

二.選擇一個好的環境進行錄音

您錄制的環境非常重要。通常,在打電話時,您可以分辨出對方在哪個房間。這是因為房間的聲學效果不同,而且聽起來可能完全不同。

選擇房間時,您需要尋找許多可以吸收混響的柔軟表面。如果您想知道為什麼我們的聲音會在走廊中產生如此多的回響,那是因為通常沒有柔軟的表面可以吸收混響。這會使您的聲音在牆壁之間反彈並產生令人不快的回聲。

對於我們大多數人來說,最好的房間是卧室,因為它通常有厚厚的窗簾、柔軟的床和放衣服的壁櫥。用衣服打開衣櫃,為房間增添更多柔軟的表面。您還可以在敞開的壁櫥前錄音以吸收大部分混響。理想情況下,如果您有一個裝有大量衣服的步入式衣櫥,那效果最佳。

避免像廚房或浴室這樣的房間,因為它們通常幾乎沒有緩沖並且會反射很多聲音。

此外,在錄音時,盡可能遠離任何可能的噪音源,如窗戶、加熱器、冰箱、空調、通風機、電腦風扇等。您希望將背景噪音降至最低,以免您的智能手機接收到它向上。

三.使用智能應用程序錄制

有很多錄音應用程序可供選擇,您的設備可能已經預裝了一個。但是,如果他們不允許您選擇錄音設置,您可能會以低於標準的音頻質量進行錄音。選擇一個錄音應用程序,讓您可以控制錄音設置,因為它們對音頻質量非常重要。

您想控制音頻文件格式、采樣率、位深度和位率。僅當您以 MP3 或 AAC 文件格式錄制時才需要後者。使用 WAV 格式,您無需選擇比特率。此外,如果有選項,請選擇單聲道而不是立體聲。如果沒有選項,那麼很可能無論如何您都在以單聲道錄制,因為這通常是默認設置。

這些是您要為獲得最高質量的音頻而選擇的設置:

文件格式– WAV

采樣率– 44kHz 或更高

位深– 24kbps 或更高

對於幾乎相同的音頻質量和顯著減少空間使用的一個很好的折衷方案是具有以下設置的 AAC 文件格式:

文件格式– AAC

采樣率– 44kHz 或更高

比特率– 至少 192kbps,理想情況下為 256kbps 或更高。

位深– 24kbps 或更高

MP3 也可以使用與上述 AAC 相同的設置,但最好以 WAV 或至少 AAC 格式編輯音頻,然後 MP3 可用於導出最終音頻文件以節省一些光碟空間。

對於安卓智能手機,我喜歡Splend Apps 的Voice Recorder Pro,因為它提供了文件格式(WAV、AAC 或 MP3)和采樣率(高達 44kHz)的選項。錄音功能,通過品質的應用也很大,但它缺乏AAC文件格式。盡管如此,我還是喜歡它的錄音電平表,因為它可以很容易地測量錄音電平。

對於iOS用戶,我會選擇語音錄制臨用Dayana網路有限公司。它允許您選擇所有主要文件格式、高達 44kHz 的采樣率甚至 24kbps 的位深度。此外,分級錄音電平表可讓您在剪輯音頻時輕松查看。

四.准備好你的聲音

為了讓你的聲音最好,做一些聲樂熱身。它們會立即放鬆您的面部和喉嚨肌肉,使您的聲音聽起來更豐富、更溫暖。

以下是一些可以在 5-10 分鍾內完成的練習,可以立即增強您的聲音:舌頭卷

唇部刺激

打哈欠

頸部和肩部伸展

避免剪輯音頻

削波會導致音頻失真。當輸入聲音太大而智能手機中的麥克風無法處理時,就會發生這種情況。確保您從不剪輯音頻以錄制始終如一的良好音頻。

您應該始終檢查您的錄音電平並確保它們永遠不會進入「紅色」區域或最大輸出並達到 0dB。如果您的應用程序具有易於理解的分級 錄音電平表,這會有所幫助。你的目標應該是保持在 -9dB 到 -3dB 的范圍內,或者至少不要超過 0dB。

捲舌頭

唇部刺激

打哈欠

頸部和肩部伸展

避免剪輯音頻

削波會導致音頻失真。當輸入聲音太大而智能手機中的麥克風無法處理時,就會發生這種情況。確保您從不剪輯音頻以錄制始終如一的良好音頻。

您應該始終檢查您的錄音電平並確保它們永遠不會進入「紅色」區域或最大輸出並達到 0dB。如果您的應用程序具有易於理解的分級 錄音電平表,這會有所幫助。你的目標應該是保持在 -9dB 到 -3dB 的范圍內,或者至少不要超過 0dB。

關注【華海互娛配音】每天分享配音小知識!!!

⑵ Android實現錄音功能

1 Android錄音需要聲明錄音許可權

<uses-permission android:name="android.permission.RECORD_AUDIO" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

2.錄音文件要寫到文件夾中,創建文件夾,在Application的onCreate方法中創建文件夾

@Override

public void onCreate() {

    super.onCreate();

    CrashHandler mCrashHandler = CrashHandler.getInstance();

    mCrashHandler.init(getApplicationContext(), getClass());

    initFile();

}

private void initFile() {

    //錄音文件

    File audioFile = new File(Constant.UrlAudio);

    if (!audioFile.exists()) {

        audioFile.mkdirs();

    } else if (!audioFile.isDirectory()) {

        audioFile.delete();

        audioFile.mkdirs();

    }

    //拍攝圖片文件

    File imageFile = new File(Constant.UrlImage);

    if (!imageFile.exists()) {

        imageFile.mkdirs();

    } else if (!imageFile.isDirectory()) {

        imageFile.delete();

        imageFile.mkdirs();

    }

}

Constant.UrlImage是個靜態的文件路徑

//錄音文件

public static String UrlAudio = FileUtil.getSdcardPathOnSys()+"/EhmFile/media/audio/";

3.在activity中開始錄音

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import android.os.Environment;

import android.os.Handler;

import android.os.Message;

import android.media.MediaRecorder;

import android.text.format.DateFormat;

import android.util.Log;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;

import java.io.File;

import java.io.IOException;

import java.util.Calendar;

import java.util.Locale;

public class Record2Activity extends AppCompatActivity {

    // 錄音界面相關

    Button btnStart;

    Button btnStop;

    TextView textTime;

    // 錄音功能相關

    MediaRecorder mMediaRecorder; // MediaRecorder 實例

    boolean isRecording; // 錄音狀態

    String fileName; // 錄音文件的名稱

    String filePath; // 錄音文件存儲路徑

    Thread timeThread; // 記錄錄音時長的線程

    int timeCount; // 錄音時長 計數

    final int TIME_COUNT = 0x101;

    // 錄音文件存放目錄

    final String audioSaveDir = Environment.getExternalStorageDirectory().getAbsolutePath() + "/audiodemo/";

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_record2);

        btnStart = (Button) findViewById(R.id.btn_start);

        btnStop = (Button) findViewById(R.id.btn_stop);

        textTime = (TextView) findViewById(R.id.text_time);

        btnStart.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

// 開始錄音

                btnStart.setEnabled(false);

                btnStop.setEnabled(true);

                startRecord();

                isRecording = true;

// 初始化錄音時長記錄

                timeThread = new Thread(new Runnable() {

                    @Override

                    public void run() {

                        countTime();

                    }

                });

                timeThread.start();

            }

        });

        btnStop.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

// 停止錄音

                btnStart.setEnabled(true);

                btnStop.setEnabled(false);

                stopRecord();

                isRecording = false;

            }

        });

    }

    // 記錄錄音時長

    private void countTime() {

        while (isRecording) {

            Log.d("mediaRe","正在錄音");

            timeCount++;

            Message msg = Message.obtain();

            msg.what = TIME_COUNT;

            msg.obj = timeCount;

            myHandler.sendMessage(msg);

            try {

                timeThread.sleep(1000);

            } catch (InterruptedException e) {

                e.printStackTrace();

            }

        }

        Log.d("mediaRec", "結束錄音");

        timeCount = 0;

        Message msg = Message.obtain();

        msg.what = TIME_COUNT;

        msg.obj = timeCount;

        myHandler.sendMessage(msg);

    }

    /**

    * 開始錄音 使用amr格式

    * 錄音文件

    *

    * @return

    */

    public void startRecord() {

// 開始錄音

        /* ①Initial:實例化MediaRecorder對象 */

        if (mMediaRecorder == null)

            mMediaRecorder = new MediaRecorder();

        try {

            /* ②setAudioSource/setVedioSource */

            mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);// 設置麥克風

            /*

            * ②設置輸出文件的格式:THREE_GPP/MPEG-4/RAW_AMR/Default THREE_GPP(3gp格式

            * ,H263視頻/ARM音頻編碼)、MPEG-4、RAW_AMR(只支持音頻且音頻編碼要求為AMR_NB)

            */

            mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);

            /* ②設置音頻文件的編碼:AAC/AMR_NB/AMR_MB/Default 聲音的(波形)的采樣 */

            mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);

            fileName = DateFormat.format("yyyyMMdd_HHmmss", Calendar.getInstance(Locale.CHINA)) + ".m4a";

            //注意文件夾要創建之後才能使用

            filePath = Constant.UrlAudio + fileName;

            /* ③准備 */

            mMediaRecorder.setOutputFile(filePath);

            mMediaRecorder.prepare();

            /* ④開始 */

            mMediaRecorder.start();

        } catch (IllegalStateException e) {

            Log.i("mediaEr", "call startAmr(File mRecAudioFile) failed!" + e.getMessage());

        } catch (IOException e) {

            e.printStackTrace();

            Log.i("mediaEr", "call startAmr(File mRecAudioFile) failed!" + e.getMessage());

        }

    }

    /**

    * 停止錄音

    */

    public void stopRecord() {

//有一些網友反應在5.0以上在調用stop的時候會報錯,翻閱了一下谷歌文檔發現上面確實寫的有可能會報錯的情況,捕獲異常清理一下就行了,感謝大家反饋!

        try {

            mMediaRecorder.stop();

            mMediaRecorder.release();

            mMediaRecorder = null;

            filePath = "";

        } catch (RuntimeException e) {

            Log.e("mediaR", e.toString());

            mMediaRecorder.reset();

            mMediaRecorder.release();

            mMediaRecorder = null;

            File file = new File(filePath);

            if (file.exists())

                file.delete();

            filePath = "";

        }

    }

    // 格式化 錄音時長為 秒

    public static String FormatMiss(int miss) {

        return "" + miss;

    }

    Handler myHandler = new Handler() {

        @Override

        public void handleMessage(Message msg) {

            switch (msg.what) {

                case TIME_COUNT:

                    int count = (int) msg.obj;

                    Log.d("meidaRe","count == " + count);

                    textTime.setText(FormatMiss(count));

                    break;

            }

        }

    };

    @Override

    protected void onDestroy() {

        super.onDestroy();

        myHandler.removeCallbacksAndMessages(null);

    }

}

布局文件很簡單

<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:app="http://schemas.android.com/apk/res-auto"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context=".Record2Activity">

    <Button

        android:id="@+id/btn_stop"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="結束"

        app:layout_constraintBottom_toBottomOf="parent"

        app:layout_constraintEnd_toEndOf="parent"

        app:layout_constraintHorizontal_bias="0.5"

        app:layout_constraintStart_toEndOf="@+id/btn_start"

        app:layout_constraintTop_toTopOf="parent" />

    <Button

        android:id="@+id/btn_start"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="開始"

        app:layout_constraintBottom_toBottomOf="parent"

        app:layout_constraintEnd_toStartOf="@+id/btn_stop"

        app:layout_constraintHorizontal_bias="0.5"

        app:layout_constraintStart_toStartOf="parent"

        app:layout_constraintTop_toTopOf="parent" />

    <TextView

        android:id="@+id/text_time"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_marginStart="11dp"

        android:layout_marginTop="47dp"

        android:text="時間"

        app:layout_constraintStart_toStartOf="@+id/btn_start"

        app:layout_constraintTop_toBottomOf="@+id/btn_start" />

</androidx.constraintlayout.widget.ConstraintLayout>

這樣就可以使用錄音功能了

⑶ 安卓手機上的音樂轉換軟體

1、音頻編輯軟體:該軟體是一款手機音頻編輯軟體。用戶可以使用它在安卓手機上面剪輯不同的音頻,支持各種各樣的音頻文件,還能插入靜音,修剪,淡入,淡出, 標准,降噪,更改 節拍,速度,音調等功能。支持保存音頻為 wav,mp3,flac, m4a, aac 和 wma 格式。

2、鈴聲剪輯:是一款實用小巧的手機鈴聲剪裁轉換製作工具。可以剪切手機中存儲的音樂文件,也可以使用軟體錄音,對錄制的聲音進行剪裁,製成獨有的鈴聲。軟體可將製作好的聲音文件設置為默認鈴聲或警告音提示音等。

3、音頻編輯大師:該軟體是一款操作方便的音樂剪輯、音樂合並、音樂混音合成的應用,簡單出色,功能實用,用戶可以通過該軟體輕松實現各種音頻編輯轉換和製作。

4、超級音樂編輯器:是一款免費專業音頻剪輯軟體,支持對MP3、AAC、WAC多種格式文件進行音頻剪輯、剪切、拼接、混音、變聲、淡入淡出、快慢速、格式轉換、音頻提取等。幫助用戶輕松製作手機鈴聲、視頻配音等。

5、音樂剪輯工具:一款功能強大、操作簡單的音頻剪輯製作軟體,支持的功能包括音頻剪切、音頻拼接合成、音頻混音、音頻格式轉換、改變音頻音量大小、音頻淡入淡出、視頻轉音頻、變音、變速、變調、聲道的合成、分離、一鍵立體聲環繞、文字轉語音、音頻倒放功能等。

⑷ Android2.2 怎麼支持AAC音頻錄制

下面是相關參數的代碼段。看清楚了,是在Android 2.2 SDK 包去實現支持 AAC 音頻錄制的。在Android 2.3.3 包下,這段代碼是可以寫成這樣的:[mw_shl_code=java,true]mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);[/mw_shl_code]但是要兼容這個2.2系統的問題!!!![mw_shl_code=java,true]/* ①Initial:實例化MediaRecorder對象 */ mMediaRecorder = new MediaRecorder(); /* ②setAudioSource/setVedioSource */ mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);// 設置麥克風 /* * ②設置輸出文件的格式:THREE_GPP/MPEG-4/RAW_AMR/Default * THREE_GPP(3gp格式,H263視頻 * /ARM音頻編碼)、MPEG-4、RAW_AMR(只支持音頻且音頻編碼要求為AMR_NB) */ mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT); /* ②設置音頻文件的編碼:AAC/AMR_NB/AMR_MB/Default */ mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); /* ②設置輸出文件的路徑 */ try { mRecAudioFile = File.createTempFile(strTempFile, ".mp3", mRecAudioPath); } catch (Exception e) { e.printStackTrace(); }[/mw_shl_code]

⑸ 安卓里好的錄音軟體有哪些

1、Hi-Q MP3錄音機。這是一款高音質錄音軟體,保存為MP3格式。Hi-Q MP3錄音機的錄音質量比默認的錄音機要高很多,語音聽寫,歌曲,講話,音樂和音樂會都可以錄製成44kHz。
特點:
- 實時MP3錄制,無需等待
- 比特率最高可達128kbps
- 備用錄制圖標,可隨時隨刻錄音
- 可設置最小磁碟空間
2、語音實錄通話錄音。採用國際領先的雙向錄音、MD5加密、數字水印、時間同步和雲存儲技術,為用戶提供完整、真實、可信、實時、保密的雙向通話和現場錄音證據保全服務。下載即用,全程客服指導。隱身運行,通訊錄管理智能切換,登錄驗證、多模式上傳杜絕安全隱患。
3、易錄音Easy Voice Recorder Pro。這是一款ICS風格的錄音軟體,支持AMR (.3gp) 、AAC (.mp4)、WAVE (.wav)格式。免費軟體。

⑹ 安卓 airpods pro 開 acc

安卓airpodspro支持aac。
而且有一個改良的外殼和鍵盤。AppleII在電腦界被廣泛譽為締造家庭電腦市場的產品,到了1980年代已售出數以百萬部計。
airpodsacc是蘋果耳機的軟體格式。AirPods是蘋果品牌的無線耳機,AirPods--acc是格式,aac准確的叫法是高級音頻編碼,這是對數碼音頻進行壓縮和編碼的一種標准方法。1997年由FraunhoferIIS、杜比實驗室、AT&T、索尼等公司共同開發,一開始的想法是取代MP3。全稱AdvancedAudioCoding。

閱讀全文

與androidaac音頻錄制相關的資料

熱點內容
怎樣加密自己的密碼 瀏覽:521
安卓怎麼關許可權保護隱私 瀏覽:390
海牛微視app怎麼用 瀏覽:70
單片機怎樣選變壓器 瀏覽:829
癌症pdf 瀏覽:725
雲伺服器鏡像批量部署環境 瀏覽:683
安卓手機瀏覽器能訪問什麼網站 瀏覽:254
找不到網站的伺服器ip地址該如何解決 瀏覽:743
演算法十個數降序排列 瀏覽:95
基於單片機的老年人健康監測系統 瀏覽:706
python入門經典pdf下載 瀏覽:17
東芝變頻2p空調壓縮機 瀏覽:227
自家wifi怎麼能加密 瀏覽:644
紅米k40加密門禁卡 瀏覽:847
什麼樣的源碼好看 瀏覽:156
手機主伺服器有什麼用 瀏覽:612
程序編寫命令 瀏覽:597
android發送心跳包 瀏覽:385
指標源碼和原理 瀏覽:700
汽車空調壓縮吸盤 瀏覽:208