Android音视频
文章平均质量分 52
原总破局
刻意训练,积极反馈。
展开
-
Android MediaRecorder录制视频
MediaRecord的状态机创建MediaRecorder,这时候处于Initial状态 mediaRecorder = new MediaRecorder();设置数据来源,这时候处于Initialized状态 mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);//设置音频来源 mediaRecorder.setVideoSource(MediaRecorder.VideoS..原创 2021-08-17 11:35:59 · 1181 阅读 · 0 评论 -
Android yuv编码为h264
视频基础知识音频编码和视频编码用的api是一样的,不一样的地方是对编码器的设置public void init(Context context, int width, int height, String srcPath, String dstPath, IHanlderCallback callback) { mWidth = width;原创 2021-08-13 19:32:51 · 590 阅读 · 1 评论 -
Android pcm编码为aac
对于音频最重要的是采样率 采样大小(位深) 声道数音频相关的文章https://blog.csdn.net/qq_15255121/article/details/115168456https://blog.csdn.net/qq_15255121/article/details/115348454android相关的APIMediaCodec.java /** * Instantiate the preferred encoder supporting output.原创 2021-08-13 19:24:46 · 1061 阅读 · 0 评论 -
Android mp4提取视频流并解码为YUV
我们首先要明白NV21的存储样式NV21 YYYYYYYYVUVU => YUV420SP(ANDROID)数据先存Y,再VU交替存储提取yuv数据要用到下面的API如果我们想获取YUV的数据那么就要用到MediaFormat int yuvFormat = MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420Flexible; if (!isSupportYuvFormat(yuvFormat, code原创 2021-08-06 16:51:18 · 1352 阅读 · 0 评论 -
Android aac文件解码为pcm
我们知道mp4文件是由音频轨和视频轨组成的,我们现在提取出aac文件,然后转为pcm。其实mp4的音频轨和aac的音频轨转化为pcm操作是一样的。都是找到音频轨的索引index,然后取数据转码。这里要设计到几个api @NonNull public static MediaCodec createDecoderByType(@NonNull String type) throws IOException { return new MediaC..原创 2021-08-03 18:03:50 · 1126 阅读 · 0 评论 -
Android MediaExtractor的使用(2)--提取aac音频
MP4是一个封装格式,mp4包含视频流和音频流。大部分的音频流都是aac格式。那么我们现在来提取音频流。使用到的api /** * Subsequent calls to {@link #readSampleData}, {@link #getSampleTrackIndex} and * {@link #getSampleTime} only retrieve information for the subset of tracks * selected.原创 2021-07-27 15:31:29 · 793 阅读 · 1 评论 -
Android MediaExtractor的使用
我们知道多媒体文件当中包含很多流,比如视频流,音频流等。我们可以通过MediaExtractor获取到相关的信息。下面是具体用法。package com.yuanxuzhen.androidmedia.demux;import android.media.MediaExtractor;import android.media.MediaFormat;import android.os.Bundle;import android.util.Log;import android.view原创 2021-07-26 19:54:57 · 971 阅读 · 0 评论 -
android camera获取yuv数据、旋转
https://blog.csdn.net/qq_15255121/article/details/119041652?spm=1001.2014.3001.5501这篇文章我们已经讲了如何才能从摄像头中获取到yuv数据。那么这篇文章我们讲一下如何生成yuv的文件。yuv是原始数据,我们只要把一帧一帧图片的yuv数据保存起来就可以。这里有个小插曲 mImageReader.setOnImageAvailableListener(new ImageReader.OnImageAvailabl原创 2021-07-26 15:47:55 · 2484 阅读 · 5 评论 -
Android获取camera的的图像并保存
要想保存camera中的图像就要用到ImageReaderImageReader中有surface,将这个surface设置到CaptureRequest和CameraCaptureSession中。ImageReader的创建 CameraCharacteristics characteristics = cameraManager.getCameraCharacteristics(backCameraId); StreamConfigur原创 2021-07-23 18:15:06 · 2543 阅读 · 3 评论 -
Android camera预览
我们先了解几个类CameraManager 管理手机摄像头的类CameraDevice 摄像头CameraCaptureSession 摄像头数据捕获场景CameraCharacteristics 摄像头属性类手机一般都是有前后摄像头,我们会通过CameraCharacteristics对象的 public static final Key<Integer> LENS_FACING = new Key<Integer>("a原创 2021-07-22 20:16:32 · 815 阅读 · 2 评论 -
AudioTrack 播放wav音频文件
我们要想对wav文件格式操作,我们就要了解wav的文件格式https://blog.csdn.net/qq_15255121/article/details/115168456通过上面我们可以知道第8到11字节 代表当前是wave格式也就是wav格式第20-21字节 代表当前的音频数据是什么格式 如果是1代表是pcm格式第24-28字节,代表当前的采样率第34-35字节,代表当前的采样大小(位深)第44字节开始,是我们真是的数据通过上面的分析我们可以知道,wav只是把p.原创 2021-07-22 13:35:54 · 686 阅读 · 1 评论 -
AudioTrack.getMinBufferSize源代码分析
static public int getMinBufferSize(int sampleRateInHz, int channelConfig, int audioFormat) { int channelCount = 0; switch(channelConfig) { case AudioFormat.CHANNEL_OUT_MONO: case AudioFormat.CHANNEL_CONFIGURATION_MONO: .原创 2021-07-21 19:50:56 · 928 阅读 · 0 评论 -
AudioTrack使用
AudioTrack用来播放音频的原始数据PCM。MediaPlayer把音频解码后的数据交给AudioTrack来播放。我们看下AudioTrack的构造函数 public AudioTrack(AudioAttributes attributes, AudioFormat format, int bufferSizeInBytes, int mode, int sessionId) throws IllegalArgumentE原创 2021-07-21 14:19:11 · 1597 阅读 · 1 评论 -
AudioRecord.getMinBufferSize分析
AudioRecord.java static public int getMinBufferSize(int sampleRateInHz, int channelConfig, int audioFormat) { int channelCount = 0; switch (channelConfig) { case AudioFormat.CHANNEL_IN_DEFAULT: // AudioFormat.CHANNEL_CONFIGURATI.原创 2021-07-20 21:23:11 · 770 阅读 · 0 评论 -
Android录制音频文件(pcm)
Android录制音频要使用到 public AudioRecord(int audioSource, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes)audioSource 标识从哪里录制。对应 public final class AudioSource { private AudioSource() {} /** @原创 2021-07-20 18:33:54 · 1013 阅读 · 1 评论 -
写在找音视频工作失败后
学了半年的音视频,想找一个音视频的工作。可是学得是ffmpeg,一点经验也没有,也不知道方向在哪里。今天听到一大神的话,醍醐灌顶。我是做android应用开发的,那么我对android很熟悉。其实音视频都是一样的。为什么不从android音视频入手,把android音视频搞明白后。将android音视频的知识导入ffmpeg,会非常容易,也非常容易理解很多技术问题。静下心来,好好学习。转行总是要付出点代价的。下面是别人写的学习路径https://www.jianshu.com/p/942原创 2021-07-20 18:06:27 · 126 阅读 · 1 评论