美文网首页音视频
音频混音是什么

音频混音是什么

作者: 毛先森 | 来源:发表于2021-02-22 15:18 被阅读0次

音频混音能实现什么

提取一个视频文件的音频轨道,和另一个事先准备好的 mp3 文件混音

场景类似于视频剪辑软件的混音操作,将原视频文件和配乐混音,生成新的音频

& 0xff 的意义

  1. & 与运算,只有两者相同时,该位与的结果才为 1
  2. 0x 表示 16 进制,0xff 的二进制表示为 1111 1111
  3. & 0xff 刚好是取当前字节的数值转为二进制,通常搭配移位运算一同服用

混音是怎么实现的

  1. 获取两个待混音的文件
  2. 使用 MediaExtractor 提取音频轨道
  3. 使用 MediaCodec 解码成 PCM 裸数据
  4. 对 PCM 的字节数据进行相加
  5. 生成新的音频文件

混音是基于 PCM 的基础上,在封装格式的文件无法直接进行音频剪辑、混音等操作

使用三个字节数组作为数据暂存区,分别对应着素材1,素材2和待合成的文件,这里又涉及到了不同声道数,量化位数的素材音频混音的兼容问题,需要重采样

取素材 1 和素材 2 对应的 pcm 数据进行相加,需要考虑到两个 short 类型的数相加后可能会超过 short 的范围,遇到这种情况时我们直接取 short 的边界

调整素材音频的音量大小时,可能会遇到丢失精度的问题

获取音频轨道后,怎样将数据送去解码

我们使用 MediaExtractor 获取轨道所在的位置后,通过遍历获取到指定的轨道,然后通过 MediaExtractor.readSampleData() 将轨道数据放到 Buffer 中,此时就需要 MediaCodec 解码了,当拿到空闲的 ByteBuffer 后,将 Buffer 中的数据放到 输入缓冲区中,然后 MediaExtractor 释放上一帧的压缩数据( MediaExtractor.advance() )

重采样

  • 什么是重采样:改变音频文件原本的采样率的过程叫做重采样
  • Android 中什么时候需要音频重采样

在几个不同采样率的音频文件时,一次只能设置一个采样率,需要统一个值,并且可能不让其他音频失真

ANDROID音频系统散记之五:如何绕开多媒体音轨的重采样

  • android 著名的 src 问题

相关链接

相关文章

  • 音频混音是什么

    音频混音能实现什么 提取一个视频文件的音频轨道,和另一个事先准备好的 mp3 文件混音 场景类似于视频剪辑软件的混...

  • VoiceMeeter简单使用,电脑连接多台音响

    一、VoiceMeeter是什么? Voicemeeter 官方称之是虚拟音频混音器,但是它的功能远不止一个混音器...

  • 音频混音处理

    统一通道数和采样率 参考文章 详解如何使用代码进行音频合成[https://www.cnblogs.com/zty...

  • ffmpeg 音频合成、混音

    需求:背景音乐15s,中间会插入多条1s的音乐片段 ffmpeg命令: ffmpeg -i ./static/mp...

  • iOS音频编程之混音

    需求:多个音频源混合后输出, 项目说明:项目中采样4路音频源混合,音频源包含44100hz采样率,3000hz采样...

  • iOS音频编程之混音

    title: iOS音频编程之混音date: 2017-04-19tags: Audio Unit,AUGraph...

  • iZotope Insight 2 for Mac(音频分析以及

    izotope insight mac破解版提供了一套完整的音频分析以及母带工具,可以进行混音和母带处理,解决混音...

  • 音频基础

    音频开发的具体内容有:(1)音频采集/播放(2)音频算法处理(去噪、静音检测、回声消除、音效处理、功放/增强、混音...

  • IOS使用AVSpeechSynthesizer 文字转语音不能

    只需在app delegate中设置音频会话支持可以混音播放即可 AVAudioSession *session ...

  • FFmpeg音频相关命令

    1. 音频裁剪 2. 音频合并 1. 两个音频合并 2. 三个音频合并 3. 音频混音 4. 淡入淡出 5. 立体...

网友评论

    本文标题:音频混音是什么

    本文链接:https://www.haomeiwen.com/subject/bofkfltx.html