目录

  • 旧方法(不可用)
  • 新方法

提示:仅为个人学习使用,不得用于任何商业用途

旧方法(不可用)

  1. 找到文件:打开文件管理-内部储存-MaoerFM-Download-sound_blob
  2. 将下载的文件后缀名改为mp3

新方法

参考此文:猫耳FM音频转换成MP3格式-space9bug,原方法可以用,只是我懒得用控制台了。(22.6.13突然发现原博客有demo,大伙可以试试先,选择“普通下载”)修改了几个地方,亲测可以直接在编译器编译运行使用,步骤为:

  1. 给文件添加mp3后缀名
  2. 放到下方代码文件的相同路径下,修改char input_file_name[100] = “2185209.mp3”;这一句引号内的数字,跟自己的文件的一致即可
  3. 运行下方代码,输出文件在同一文件夹下

代码如下:

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <cstdint>
using namespace std;#define CHUNK_SIZE 4096
#define HEADER_SIZE 12int main()
{FILE *inFp = NULL;FILE *outFp = NULL;uint32_t read_temp_size;char buff[CHUNK_SIZE];char file_header[HEADER_SIZE];uint32_t file_start_addr, file_size;char input_file_name[100] = "2185209.mp3";char targetName[strlen(input_file_name) + 10];strncpy(targetName, input_file_name, strlen(input_file_name));inFp = fopen(input_file_name, "rb");if (inFp == NULL){printf("open file fail\n");}fseek(inFp, 20, SEEK_SET);fread(&file_start_addr, 1, sizeof(file_start_addr), inFp);printf("start:%d\n", file_start_addr);fseek(inFp, 40, SEEK_SET);fread(&file_size, 1, sizeof(file_size), inFp);printf("end:%ld\n", file_size);fseek(inFp, file_start_addr, SEEK_SET);fread(&file_header, HEADER_SIZE, 1, inFp);if ((file_header[0] == 0x49 && file_header[1] == 0x44 && file_header[2] == 0x33) || (file_header[0] == 0xFF && file_header[1] == 0xfb)){printf("MP3 file\n");strcat(targetName, ".mp3");}else if ((file_header[4] == 0x66 && file_header[5] == 0x74 && file_header[6] == 0x79 && file_header[7] == 0x70 && file_header[8] == 0x4D && file_header[9] == 0x34 && file_header[10] == 0x41) || (file_header[0] == 0x4D && file_header[1] == 0x34 && file_header[2] == 0x41 && file_header[3] == 0x20)){printf("M4A file\n");strcat(targetName, ".m4a");}else{printf("OTHER file\n");strcat(targetName, ".temp");}outFp = fopen(targetName, "wb");if (outFp == NULL){printf("open file fail\n");}fseek(inFp, file_start_addr, SEEK_SET);while (file_size != 0){/* 使用右移和按位与优化代码 */// read_temp_size = file_size / CHUNK_SIZE ? CHUNK_SIZE : file_size % CHUNK_SIZE;read_temp_size = file_size >> 12 ? CHUNK_SIZE : file_size & (CHUNK_SIZE - 1);fread(&buff, read_temp_size, 1, inFp);fwrite(&buff, read_temp_size, 1, outFp);file_size -= read_temp_size;}fclose(inFp);inFp = NULL;fclose(outFp);outFp = NULL;return 0;
}

猫耳FM导出音频转换为音频格式(m4a/mp3)相关推荐

  1. 猫耳FM音频转换成MP3格式

    原创文|Space9 猫耳FM音频与普通音频的差异 首先我们发现猫耳FM音频是没有后缀名的音频文件,然后我们通过对比发现猫耳FM音频文件并不是什么加密文件,只是将音频文件.封面图片.弹幕文件合并到了一 ...

  2. “Z世代”崛起,网易云信助力猫耳FM引领声音风潮

    2018年,Z世代以一种毋庸置疑的姿态闪亮登场,接棒互联网娱乐消费主力人群.作为移动互联网的"原住民", Z世代自出生之时就已经处在高度互联网化的时代.而高度自由的互联网环境为他们 ...

  3. 猫耳FM日期窗口实现

    猫耳FM日期窗口实现 今天咱们继续来研究一下FM中 "精品周更" 的窗口滑动模型,这个模型比较新颖,但是只要找到规律后其实并复杂. 按照惯例,先来看看官方的效果图 再来看看模型最终 ...

  4. 猫耳FM轮播图模型制作

    猫耳FM轮播图模型制作 今天咱们来研究一下猫耳FM的轮播图,它的轮播效果和往常的有些不同.先来看看它的效果~ 可以看到它的切换效果的特别之处---相隔多个图片之间的切换时,当前图片到目标图片的切换是直 ...

  5. php获取猫耳单个主播所有音频文件

    获取主播所有音频api: https://www.missevan.com/主播id/getusersound?page_size=1000 获取单个音频文件标题和链接: https://www.mi ...

  6. ffmpeg js转换音频_将微信jssdk录制的speex高清音频转换为wav/mp3

    今天在做微信开发的时候需要将jssdk录制的音频上传到微信平台,但是jssdk录制的是speex高清格式,不能直接转换为mp3或者wav格式, 微信官方提供了一个说明: [如果speex音频格式不符合 ...

  7. java 音频转为wav格式标准音频 | Java工具类

    目录 简述 环境依赖 maven依赖 ffmpeg依赖 工具类代码 总结 简述 该工具类主要是为了将各类音频转为wav标准格式,其中可以调节采样率.声道数等指标.主要是使用ffmpeg命令进行转换. ...

  8. mp3格式怎么转html格式转换器,mp3转换成视频格式 怎么把mp3转换成视频

    相信大伙儿都知道视频转换成MP3,而且方法多种多样,就看你喜欢哪种,但是MP3转换成视频格式呢?你是否听说过?听起来似乎就是一件比较稀奇的事情,但是稀奇并不代表没有.有网友就有这样的需求,需要把MP3 ...

  9. 用Python将音频内容转换为文本格式

    当对一个或多个人的谈话进行记录时,采用一种高度准确和自动化的方式将口语提取为文本非常有用.转换成文字后,便可以将其用于进一步分析或用作其他功能. 很多人学习python,不知道从何学起. 很多人学习p ...

最新文章

  1. Qt 静态编译后的exe太大, 可以这样压缩.
  2. Elasticsearch 常用运维命令(持续更新)
  3. powershell
  4. 字符串-长度、计数、位置方法演练
  5. 配置VRRP(虚拟路由器冗余协议)
  6. 北大阿里中科院提出细粒度人体姿态迁移方法,提升外观细节逼真度
  7. python数组去重函数_Python科学计算库Numpy之 数组操作
  8. 【目标检测】IoU、GIoU、DIoU、CIoU Loss详解及代码实现
  9. JSP 九大内置对象及作用域(源码刨析,建议收藏)
  10. Log4cpp 配置文件格式说明
  11. C语言:输出100以内的素数
  12. 基于python 爬虫的数据库设计开题报告_爬虫开题报告
  13. 转载(吃货告诉你,PAAS、IAAS和SAAS之间的区别)
  14. word两种html区别,word文本框有哪两种方式?
  15. 避雷指南:软件测试最容易陷的28个误区
  16. 国外服务器被攻击以及应对方法
  17. java向kafka推送数据_Java kafka消息的发送与接收
  18. 字符串中空格符 空字符
  19. layui table勾选框的修改_Layui默认选中table的CheckBox复选框方法_飛雲_前端开发者...
  20. 微信和淘宝最赤裸的分析

热门文章

  1. PHP使用文字检索,关键词查询,分词查询
  2. 完结撒花!吴恩达DeepLearning.ai《深度学习》课程笔记目录总集
  3. 如何从购物数据中挖掘出啤酒与尿布的关联关系?
  4. 网络诊断,浏览器不能上网,其他软件都能上网
  5. 【文本标注】文本标注工具brat的使用
  6. oracle11g在linux7的静默安装脚本
  7. flutter之路由管理
  8. ImageJ自动批量多通道图片无损分离为单色荧光图
  9. 微信二次分享解决方案
  10. Linux加密框架 crypto crypto_larval | crypto_larval_alloc | __crypto_register_alg 介绍