android 音频编解码 混音 mp3编码解码 pcm编码解码

2023-10-27 16:21

本文主要是介绍android 音频编解码 混音 mp3编码解码 pcm编码解码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

特别提示:这里所提供的源代码真实有效,并且只是出售源代码,不提供项目整合服务。如果觉得效果是自己想要的欢迎使用。(感谢各位慷慨资助,谢谢

音频编解码,录制铃音,增加混音效果,目前只支持编解码MP3格式文件。将音频文件放到SDCard/RecordMixMp3/music下,进入软件,点击演唱就可以了。
本项目用到 lame、libmad,ting
源代码+文件+apk: 伴唱混音.zip(10.39 MB, 下载次数: 65)
源代码收费,不喜欢的可以右上角叉叉。谢谢有意向使用的可以留言
QQ:305611696
非诚勿扰,谢谢~!
Android.mk
  1. # Copyright (C) 2009 The Android Open Source Project
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License");
  4. # you may not use this file except in compliance with the License.
  5. # You may obtain a copy of the License at <span id="kM0.4412747658789158">@</span>1123
  6. #
  7. #      http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software
  10. # distributed under the License is distributed on an "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. # See the License for the specific language governing permissions and
  13. # limitations under the License.
  14. #
  15. #ifeq ($(strip $(BUILD_WITH_GST)),true)

  16. LOCAL_PATH:= $(call my-dir)

  17. include $(CLEAR_VARS)

  18. LAME_LIBMP3_DIR := libmp3lame/src

  19. LOCAL_SRC_FILES:= \
  20.         version.c \
  21.         fixed.c \
  22.         bit.c \
  23.         timer.c \
  24.         stream.c \
  25.         frame.c  \
  26.         synth.c \
  27.         decoder.c \
  28.         layer12.c \
  29.         layer3.c \
  30.         huffman.c \
  31.         MyMinimad.c \
  32.         NativeMP3Decoder.cpp \
  33.         native_libmad.cpp \
  34.         FileSystem.cpp \
  35.         mixrecord.c \
  36.         mp3decode.c \
  37.         $(LAME_LIBMP3_DIR)/bitstream.c \
  38.         $(LAME_LIBMP3_DIR)/fft.c \
  39.         $(LAME_LIBMP3_DIR)/id3tag.c \
  40.         $(LAME_LIBMP3_DIR)/mpglib_interface.c \
  41.         $(LAME_LIBMP3_DIR)/presets.c \
  42.         $(LAME_LIBMP3_DIR)/quantize.c \
  43.         $(LAME_LIBMP3_DIR)/reservoir.c \
  44.         $(LAME_LIBMP3_DIR)/tables.c \
  45.         $(LAME_LIBMP3_DIR)/util.c \
  46.         $(LAME_LIBMP3_DIR)/VbrTag.c \
  47.         $(LAME_LIBMP3_DIR)/encoder.c \
  48.         $(LAME_LIBMP3_DIR)/gain_analysis.c \
  49.         $(LAME_LIBMP3_DIR)/lame.c \
  50.         $(LAME_LIBMP3_DIR)/newmdct.c \
  51.         $(LAME_LIBMP3_DIR)/psymodel.c \
  52.         $(LAME_LIBMP3_DIR)/quantize_pvt.c \
  53.         $(LAME_LIBMP3_DIR)/set_get.c \
  54.         $(LAME_LIBMP3_DIR)/takehiro.c \
  55.         $(LAME_LIBMP3_DIR)/vbrquantize.c \
  56.         $(LAME_LIBMP3_DIR)/version.c \
  57.         $(LAME_LIBMP3_DIR)/com_wt_recordmixmp3_util_SimpleLame.c \
  58.         cn_com_util_Jni.cpp

  59. LOCAL_ARM_MODE := arm  
  60.   
  61. LOCAL_MODULE:= libmad  
  62.   
  63. LOCAL_C_INCLUDES := \
  64.     $(LOCAL_PATH)/android   
  65.   
  66. LOCAL_CFLAGS := -DHAVE_CONFIG_H -DFPM_ARM -ffast-math -O3  

  67. LOCAL_LDLIBS := -llog

  68. include $(BUILD_SHARED_LIBRARY)

  69. #endif

复制代码


/com_wt_recordmixmp3_util_SimpleLame.h
/com_wt_recordmixmp3_util_SimpleLame.c
/mp3decode.c
/mixrecord.c











朋友别哭.zip(5.7 MB, 下载次数: 16)

RecordMixMp3.apk (509.64 KB, 下载次数: 15)

这篇关于android 音频编解码 混音 mp3编码解码 pcm编码解码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/286853

相关文章

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

通过C#和RTSPClient实现简易音视频解码功能

《通过C#和RTSPClient实现简易音视频解码功能》在多媒体应用中,实时传输协议(RTSP)用于流媒体服务,特别是音视频监控系统,通过C#和RTSPClient库,可以轻松实现简易的音视... 目录前言正文关键特性解决方案实现步骤示例代码总结最后前言在多媒体应用中,实时传输协议(RTSP)用于流媒体服

Android WebView的加载超时处理方案

《AndroidWebView的加载超时处理方案》在Android开发中,WebView是一个常用的组件,用于在应用中嵌入网页,然而,当网络状况不佳或页面加载过慢时,用户可能会遇到加载超时的问题,本... 目录引言一、WebView加载超时的原因二、加载超时处理方案1. 使用Handler和Timer进行超

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

android-opencv-jni

//------------------start opencv--------------------@Override public void onResume(){ super.onResume(); //通过OpenCV引擎服务加载并初始化OpenCV类库,所谓OpenCV引擎服务即是 //OpenCV_2.4.3.2_Manager_2.4_*.apk程序包,存

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动

C++ | Leetcode C++题解之第393题UTF-8编码验证

题目: 题解: class Solution {public:static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num &

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return