导航:首页 > 操作系统 > 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音频录制相关的资料

热点内容
云服务器资源评估 浏览:882
微云下载文件夹是空的 浏览:3
r9数控车的编程 浏览:403
为什么删不掉ksafe文件夹 浏览:291
理科男学编程用什么电脑 浏览:839
安阳弹性云服务器 浏览:570
压缩空气储罐有效期 浏览:408
英国文学PDF 浏览:175
软件编程需求 浏览:626
广州哪里解压 浏览:253
手机小视频怎么压缩 浏览:915
微信聊天界面源码 浏览:24
seo竞价推广点击价格算法公式 浏览:319
框架结构可以加密吗 浏览:218
python编译器怎么清除 浏览:73
linux全局socks代理 浏览:611
php微信抽奖 浏览:771
压缩算法嵌入式移植 浏览:531
php新手小例子 浏览:233
按照医生的算法一周是几天 浏览:805