当前位置:首页 » 安卓系统 » android录音时间

android录音时间

发布时间: 2023-03-31 05:37:18

❶ android录制音频怎样限制录音时间

对,目前还没有办法获取到对方的语音信息。
Android本身不提供纳尘侍获取音频输出洞吵通道的API。
或许是google按照相关法律所以才没有提供吧,并不是技术上不兄渣行。

❷ android 获取音频时长

android当中获取姿胡视频音频的时长物册稿,三种。
1:获取视频罩孝URI后获取cursor

2:根据MediaPlayer获取:

3:采用MediaMetadataRetriever的方式:

安卓手机录音锁屏长什么样

是一个类似麦克风的红色图形。安卓手机录音锁屏的页面就是这样的。

❹ 微信录音功能录音时间太短在哪里把录音调时间长

在与好友聊天框中,【最长可录制为60秒】

友桐拦ipone手机语音发送失败,好胡可能与手机的贴膜有关,建议你“按住说话”按 钮时手指靠方按一点;如果还是无法正常发送,你可以尝试更换手机贴膜。

想要时间久点可以尝试微信语音通话
目前iPhone/AndroidQQ4.6及以上、WP8QQ4.3及以上版本支持语音通话功能,无论是工作还是在旅行,随时与家人或同事发起语音通话。
1、在联系人界面点击好友头像=》进入好友资料卡=》点击左下角语音通话即可;
2、打开与好友的聊天窗口=》点击“+”轮肢=》即可选择发起语音通话。

温馨提示:非Wifi网络坏境下进行语音通话,每分钟大概0.5M左右的流量,具体还请以实际使用为准,为了节省您的流量,建议在WiFi网络下使用语音通话功能。

❺ 安卓手机怎么设置通话录音

点击安卓手机的电话图标,打开拨号界面点击右下角的三个点的图标,然后点击设置,在设置界面,下拉点击通话自动录音在通话自动录音界面,激活话筒自动录音按钮。

❻ 如何找到安卓手机的录音功能

方法:在手机的实用工具中可以找到手机的录音功能,以华为手机为例说明:

具体步骤如下:

1、在手机找到应用工具文件夹并点击打开;

注意事项

不同安卓手机的录音功能可能不在同一位置,部分手机可以在手机设置中打开录音功能,相对应的录音本地文件可以在手机存储位置找到。

❼ 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>

这样就可以使用录音功能了

❽ Android的MediaRecorder怎么显示音频记录的时间期限

解决卜困枯方法 :
在记录开始的 System.currentTimeMillis(); 方法中设置 start_time 方法。
然后使用 Runnable 可型洞以执行一个循环,直到停止记录。

final Handler handler = new Handler();
Runnable update_runnable = new Runnable() {
public void run() {
updateTextView();
}
};
Then with the updateTextView() you'd do something like this:

long ration = (int) ((System.currentTimeMillis() - start_time) / 1000);
// ... set TextView with ration value
handler.postDelayed(update_runnable, 1000); /尺羡

❾ 安卓手机通话怎么录音

若是使用vivo手机,拨打电话时,点击通话界面的“录音”即可录制通话内容。

一、设置通话自动录音的方法:

1、进入i管家--实用工具--辅助功能--通话录音--选择“所有通话自动录音”或“指定”号码自动录音;

2、设置--(应用与权限--系统应用设置)--电话--通话录音--选择“所有通话自动录音”或“指定号码自动录音”,设置后,当开始通话时,手机会自动进行录音。

❿ android怎么控制录音时长

在移动APP开发中,每逢APP应用设猛李计到多媒体开发的时候,都会让很多的程序员头疼不已,而且项目的开发进度会放慢、项目
的难度也会闷羡加大蛮多,同时APP的测试也会增加。Android中的多媒体开发,有音频的播放、音频的录制、视频的播放、视频的录制
等,虽然Android的SDK中提供了一些基础的开发API类,如音频的录制就提供了两种方式:AudioRecord录制音频和MediaRecorder录
制音枝罩迟频。AudioRecord类相对于MediaRecorder来说,更加接近底层,为我们封装的方法也更少。然而实现一个AudioRecord的音频录
制程序也很简单。

热点内容
微博数据库设计 发布:2025-07-05 15:30:55 浏览:13
linux485 发布:2025-07-05 14:38:28 浏览:294
php用的软件 发布:2025-07-05 14:06:22 浏览:745
没有权限访问计算机 发布:2025-07-05 13:29:11 浏览:418
javaweb开发教程视频教程 发布:2025-07-05 13:24:41 浏览:666
康师傅控流脚本破解 发布:2025-07-05 13:17:27 浏览:227
java的开发流程 发布:2025-07-05 12:45:11 浏览:669
怎么看内存卡配置 发布:2025-07-05 12:29:19 浏览:271
访问学者英文个人简历 发布:2025-07-05 12:29:17 浏览:821
1970linux 发布:2025-07-05 12:12:43 浏览:109