ios 播放安卓上传的amr文件

2023-10-14 01:20
文章标签 ios 上传 安卓 播放 amr

本文主要是介绍ios 播放安卓上传的amr文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安卓上传的语音格式是amr,而AVAudioPlayer并不支持播放amr文件格式。

思路是把amr文件转成wav文件。

NSString *urlStr=[NSString stringWithFormat:@"%@/msp%@",ZJURL,self.shareF.shareInfo.referUris[0]];NSURL *url = [[NSURL alloc]initWithString:urlStr];NSData * audioData = [NSData dataWithContentsOfURL:url];//将数据保存到本地指定位置NSString *docDirPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];filePath = [NSString stringWithFormat:@"%@/%@.amr", docDirPath , self.shareF.shareInfo.idNum];wavfile=[NSString stringWithFormat:@"%@/%@.wav", docDirPath , self.shareF.shareInfo.idNum];mp3file=[NSString stringWithFormat:@"%@/%@.mp3", docDirPath , self.shareF.shareInfo.idNum];[audioData writeToFile:filePath atomically:YES];[audioData writeToFile:mp3file atomically:YES];
//        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{[VoiceConverter amrToWav:filePath wavSavePath:wavfile];
//        });

iOS上传的mp3,所以进行判断

 NSFileManager * fileManager=[ NSFileManager defaultManager ];//播放本地音乐float msize= [[fileManager attributesOfItemAtPath:wavfile error:nil] fileSize]/(1024.0*1024.0);CDLog(@"wav文件大小:%f",msize);NSURL *fileURL;if (msize>0) {CDLog(@"mav文件");fileURL=[NSURL fileURLWithPath:wavfile];}else{CDLog(@"mp3文件");fileURL=[NSURL fileURLWithPath:mp3file];}self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil];[self.player play];self.player.delegate = self;

这里面需要VoiceConvert第三方库,网上找的会报错,不支持arm64,需要引入这些




这篇关于ios 播放安卓上传的amr文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

使用Python实现文本转语音(TTS)并播放音频

《使用Python实现文本转语音(TTS)并播放音频》在开发涉及语音交互或需要语音提示的应用时,文本转语音(TTS)技术是一个非常实用的工具,下面我们来看看如何使用gTTS和playsound库将文本... 目录什么是 gTTS 和 playsound安装依赖库实现步骤 1. 导入库2. 定义文本和语言 3

Java实现数据库图片上传与存储功能

《Java实现数据库图片上传与存储功能》在现代的Web开发中,上传图片并将其存储在数据库中是常见的需求之一,本文将介绍如何通过Java实现图片上传,存储到数据库的完整过程,希望对大家有所帮助... 目录1. 项目结构2. 数据库表设计3. 实现图片上传功能3.1 文件上传控制器3.2 图片上传服务4. 实现

使用mvn deploy命令上传jar包的实现

《使用mvndeploy命令上传jar包的实现》本文介绍了使用mvndeploy:deploy-file命令将本地仓库中的JAR包重新发布到Maven私服,文中通过示例代码介绍的非常详细,对大家的学... 目录一、背景二、环境三、配置nexus上传账号四、执行deploy命令上传包1. 首先需要把本地仓中要

Java实现数据库图片上传功能详解

《Java实现数据库图片上传功能详解》这篇文章主要为大家详细介绍了如何使用Java实现数据库图片上传功能,包含从数据库拿图片传递前端渲染,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、数据库搭建&nbsChina编程p; 3、后端实现将图片存储进数据库4、后端实现从数据库取出图片给前端5、前端拿到

Vue ElementUI中Upload组件批量上传的实现代码

《VueElementUI中Upload组件批量上传的实现代码》ElementUI中Upload组件批量上传通过获取upload组件的DOM、文件、上传地址和数据,封装uploadFiles方法,使... ElementUI中Upload组件如何批量上传首先就是upload组件 <el-upl

Python实现多路视频多窗口播放功能

《Python实现多路视频多窗口播放功能》这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下... 目录一、python实现多路视频播放功能二、代码实现三、打包代码实现总结一、python实现多路视频播放功能服务端开

Java文件上传的多种实现方式

《Java文件上传的多种实现方式》文章主要介绍了文件上传接收接口的使用方法,包括获取文件信息、创建文件夹、保存文件到本地的两种方法,以及如何使用Postman进行接口调用... 目录Java文件上传的多方式1.文件上传接收文件接口2.接口主要内容部分3.postman接口调用总结Java文件上传的多方式1

使用Python实现大文件切片上传及断点续传的方法

《使用Python实现大文件切片上传及断点续传的方法》本文介绍了使用Python实现大文件切片上传及断点续传的方法,包括功能模块划分(获取上传文件接口状态、临时文件夹状态信息、切片上传、切片合并)、整... 目录概要整体架构流程技术细节获取上传文件状态接口获取临时文件夹状态信息接口切片上传功能文件合并功能小