我们的测试人员测试EasyPlayerPro-iOS版时,出现有画面没有声音的bug,本文讲一下如何解决该问题。 分析问题 首先看一下问题出在哪个方面。...播放前,先需要先探测视频和音频的格式, 通过抓包发现,没有声音是由于在probesize的大小内没获取到音频包。...经过多年的技术积累与实践打造,EasyPlayer播放器项目系列无论是在对接设备型号种类,还是在对接编码的兼容性上,都具备较高的可用性; EasyPlayer项目系列已经具备Windows、Android、iOS...三个平台的稳定运行版本,EasyPlayer.js还支持Linux平台,在播放器领域是多平台的最佳选择; 提供了非常简单易用的SDK及API接口,用户通过API调用就可以非常快速地开发出属于自己的应用程序...EasyPlayer.JS播放界面 ?
这段时间在独立写音乐项目,在学习过程中接触到了JS的音频律动,于是找到了以下项目 以上是效果图 下面分享代码: HTML结构 Document CSS样式 * { margin: 0...music-btn-anim { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } JS...MusicSingleComp:音乐组件,负责音乐的加载、配置播放参数和获取音频频谱数据。 MusicEffectSingleComp:音乐特效组件,通过获取音频频谱数据,实现了可视化的音乐特效。...{/tabs-pane} 使用时仅需将图片和音频放于项目根目录并重命名为test.jpg 和 test.mp3即可
iOS下的音频播放实现有了一定的研究。...本篇为《iOS音频播放》系列的第一篇,主要将对iOS下实现音频播放的方法进行概述。 基础 先来简单了解一下一些基础的音频知识。...] iOS音频播放概述 了解了基础概念之后我们就可以列出一个经典的音频播放流程(以MP3为例): 读取MP3文件 解析采样率、码率、时长等信息,分离MP3中的音频帧 对分离出来的音频帧解码得到PCM数据...对PCM数据进行音效处理(均衡器、混响器等,非必须) 把PCM数据解码成音频信号 把音频信号交给硬件播放 重复1-6步直到播放完成 在iOS系统中apple对上述的流程进行了封装并提供了不同层次的接口...下篇预告 下一篇将讲述iOS音频播放中必须面对的难(da)题(keng),AudioSession。
一、前言 二、音频文件Audio File Services 三、音频文件转换Extended Audio File Services 四、音频流Audio File Stream Services...,例如 MPEG 4 AAC,利用结构体包含音频的元数据。...这些结构体就是Magic Cookie,当你用 Audio Queue Services 播放这种格式的音频文件时,你可以从音频文件中获取Magic Cookie ,然后在播放之前添加到音频队列中 UInt32...,主要用于音频帧的数据分类存储。...图片来源:[Audio Streaming ( Audio Queue )](http://stevenkuo-blog.logdown.com/posts/303892-ios-audio-streaming-audio-queue
一、简介 简单来说,音频可以分为 2 种 1.音效 又称『短音频』,通常在程序中的播放时长为 1 ~ 2 s 在应用程序中起到点缀效果,提升整体用户体验 2.音乐 比如游戏中的『背景音乐』,一般播放时间较长...播放音频可以使用框架:AVFoundation.framework 二、音效的播放 //1.获得音效文件的路径 NSURL *url = [[NSBundle mainBundle] URLForResource...音效格式 注意:硬件解码器一次只能对一个音频文件解码。在实际应用中通常使用非压缩的音频格式(AIFF)或者 CAF 音频格式,从而降低系统在音频解码时的消耗,达到省电的目的。...四、音频转换工具 转换为 aiff 格式 afconvert -f AIFF -d I8 filename 转换为 caf 格式 afconvert -f caff -d aac -b 32000 filename
前言 这是一篇关于在线音频播放的文章,参考自苹果OS X的demo。 在移植到iOS后,可以通过iphone播放Mac上面的音频,实现在线播放音频的功能。...servers是OS X的应用,作为服务端,负责发送音频流数据; client是iOS的应用,作为客户端,负责接收音频流数据; 音频数据通过AudioFileStream转换后,调用AudioQueue...1、socket编程 bind方法用于绑定接口,然后用listen监听tcp连接请求,accept用于接受tcp连接; fopen打开音频文件,fread读取音频数据,send对建立的连接发送音频流;...client是客户端,运行在iOS 1、在getHostName处需要修改为OS X的ip地址; 2、iOS和OS X需要处于同一局域网; 3、clietn未播放完结束,会导致server关闭;....264 使用VideoToolbox硬解码H.264 使用AudioToolbox编码AAC 使用AudioToolbox播放AAC HLS点播实现(H.264和AAC码流) HLS推流的实现(iOS
3.2、串连的Audio node 3.3、数据的转换 四、附录 4.1、Audio Unit 示例 一、Audio Unit综述 相对于MacOS,Audio Unit在iOS...Audio Unit几乎可以认为是对硬件驱动层的封装,通过它获取麦克风采集的音频数据或者将音频数据传输给扬声器播放。...(2)动态的配置,AUGraph可以动态的对音频数据的组合配置,改变音效。...(3)AudioUnit: 音频处理组件,是对音频处理节点的实例描述者和操控者。 ...(上述文字摘自KKBOX iOS/Mac OS X 基礎開發教材) 下图所示两路音频数据首先经过均衡器单元,然后再经过混音单元组合在一起, 最后经由输入输出单元传输到到扬声器。 ?
编码结构图 前言 iOS下Apple为我们提供了非常方便的音频编解码工具AudioToolbox。该工具中包含了常见的编解码库,如AAC、iLBC、OPUS等。...今天我们就介绍一下如何使用 AudioToolbox 进行AAC音频的编码工作。 AAC编码的基本流程 在 iOS 中进行AAC编码的流程比较简单,按以下几步即可完成。...这里用到了一个小技巧,设置编码器的输入格式是通过传入的第一个音频数据包来获得的。因为,在iOS中每个音视频的输入数据中都包含了必要的参数。而iOS也为我们提供了提取这些数据的方法,非常方便。...iOS为我们提供了 AudioClassDescription 来描述这些信息。...另外,通过本文你可以了解到,其实在iOS下,其它音频编码的流程与AAC编码的流程都是一样的,我们只需要调整不同的参数即可。
CAF格式 CAF是苹果的一种音频封装格式,与WAV差不多,里面可以存放LPCM,MP3等多种编码方式。
前言 音频是移动端很重要的能力,像直播类、在线教育类、唱歌类、短视频类等APP,都离不开音频功能。 具备音频相关知识与能力,对未来的职业发展有很大优势。...为了使得计算机具备音频的能力,必须支持连续音频信号的离散化描述,而PCM具备这个能力。...1、声道; 录制和播放时,音频信号的数量。...} } *curData = data; } Audio Unit 播放 PCM AudioStreamBasicDescription iOS...在iOS平台可以通过设置kAudioFormatFlagIsNonInterleaved,使得左右声道的数据分别存储在AudioBufferList的两个AudioBuffers中。
本文讲述了 iOS Core Audio 中常用的音频概念定义,然后介绍一些容易造成概念混淆的场景以及一个实践 demo 案例,最后解答一些常见的问题。...(一) iOS Core Audio 音频概念定义 讨论 iOS Core Audio,就要按照苹果的定义对音频相关概念进行理解。...网络传输音频的时候,会把音频数据进行打包发送,这个时候也用到 packet 的概念,他有自己独立的 packet header 定义,又跟 iOS Core Audio 定义的 packet 不是同一个了...可以看到 FFmpeg 在处理音频和视频时,对 packet 和 frame 概念的使用跟 iOS Core Audio 基本一致。...(三)DEMO:QQ音乐一首歌的音频数据帧 从上面的概念定义,我们搞清楚了 iOS Core Audio 中对 sample, frame 和 packet 的定义,其中 frame 和 packet
前言 IOS播放器对播放文件要求比较严格,对于一些异常文件兼容性不是特别好,而且IOS播放器相对封闭,无法查看源代码或者看相关日志跟踪问题,所以定位IOS播放问题可谓是费时费力。...本文就两个比较常见的案例进行分析,希望对大家分析IOS播放异常问题有所帮助。 案例一 现象:播放画面无卡顿,音频听起来有噪音,音频有卡顿感。 原因:音频时间戳混乱,存在误差,不严格对齐。...当其他两个值和cal duration差距过大时,即文件记录的时间戳出现异常,那么就可能会导致IOS播放异常。...异常举例: image.png 正常举例: image.png 解决方案:生成录制文件时,边录制边利用cal duration重新生成音频时间戳,不过该方案涉及到修改文件的时间戳,存在错改时间戳的风险...案例二 现象:播放不流畅或者播放加速,音频闪现一些杂音,无法听清。播放过程中可能会导致IOS播放器闪退。 原因:音频声道数异常,例如文件数据本是单声道,文件却记录为双声道,反之亦然。
前言 在iOS中有很多方法可以进行音视频采集。如 AVCaptureDevice, AudioQueue以及Audio Unit。...对于一般的iOS应用程序,AVCaptureDevice和AudioQueue完全够用了。...下图是 Audio Unit在 iOS架构中所处的位置: ? 基本概念 在介绍 Audio Unit 如何使用之前,先要介绍一下Audio Unit的基本概念,这样更有利于我们理解对它的使用。...使用 AudioStreamBasicDescription 结构体描述音频格式,并使用AudioUnitSetProperty进行设置。...如混音,音频特效,录制等等。它处于 iOS 开发架构的底层,特别合适于音视频直播这种场景中使用。 我们今天介绍的只是 Audio Unit众多功能中的一小点知识,但这一点点知识对于我来说已经够用了。
场景 把多条mp3音频合并为一条保存并进行播放 解决方案 首先把全部音频路径生成为一个数组:NSMutableArray * fileUrlArr = @[].mutableCopy; [mp3NameArr...,并获取多个音频素材的轨道 AVMutableComposition *composition = [AVMutableComposition composition]; //音频插入的开始时间...:^(id _Nonnull audioFileURL, NSUInteger idx, BOOL * _Nonnull stop) { //获取音频素材 AVURLAsset...*audioAsset1 = [AVURLAsset assetWithURL:[NSURL fileURLWithPath:audioFileURL]]; //音频轨道...,保存在一个随机文件中,因为文件如果已存在或者文件目录写入失败,会出现【AVAssetExportSessionStatusFailed】错误码 输出合并音频// 合并音频文件生成新的音频 [self
场景 把多条mp3音频合并为一条保存并进行播放 解决方案 首先把全部音频路径生成为一个数组: NSMutableArray * fileUrlArr = @[].mutableCopy; [mp3NameArr...pathForResource:mp3Name ofType:@"mp3"]; [fileUrlArr addObject:audioFileURL]; }]; 通过以下方法合并音频...:(NSArray *)sourceURLsArr completed:(void (^)(NSString * outputFileUrlStr)) completed{ //创建音频轨道,并获取多个音频素材的轨道...AVMutableComposition *composition = [AVMutableComposition composition]; //音频插入的开始时间,用于记录每次添加音频文件的开始时间...// 合并音频文件生成新的音频 [self mergeAVAssetWithSourceURLs:musicArr completed:^(NSString *outputFileUrlStr
导语:使用c++实现音频流过程中遇到的问题和解决过程步骤一 :在使用cgi编写输出音频流接口,前端同事无法拖动播放,于是查阅资料找到了一个关键词:断点续传断点续传的解释:断点续传:指的是在上传/下载时,...从此得知,浏览器请求音频时是使用的范围请求,Chrome是用一个HTTP请求请求了整个音频,即请求音频的第0个字节到最后一个字节,Chrome不强制要求服务端支持范围请求,服务端响应200或206,Chrome...字段,响应体是音频的第一个字节,此时,Safari才会继续请求音频的其他字节,否则Safari会放弃该音频的请求。...我们音频的服务端不支持范围请求,响应的是整个音频,状态码200,所以导致无法在Safari播放。解决方案:当收到请求表头有range的时候,返回部分文件流,否则返回全部。...::in | ios::binary | ios::ate); in.seekg(0, std::ios::end); file_size = in.tellg();
可选格式 ios android做音频相关的开发时可选用的格式有 mp3,speex,aac,amr,ilbc 已知应用 amr:微信 evemote speex:米聊 文件格式大小 mp3>aac>...amr/ilbc>speex 各个格式简介 amr:生成格式相对较小,Android原生支持,ios可用第三方库进行编码解码 speex:生成文件最小,Android、ios均需要用第三方库进行编码解码...,支持声音的降噪等处理 aac:生成文件相对较大,Android,ios均支持,声音质量较好,比mp3文件小 ilbc:生成文件较小,ios 4.3以上支持,Android早期不支持可用第三方库 mp3
ios的录音格式默认的为wav。但是这个格式安卓无法读取,最开始是转成了MP3。测试没什么问题,但是老板说mp3的数据占用比较大,常规的用法是amr。...我只记录下安卓和ios互通的坑。 录音录完之后上传转成amr。然后下载下来还要转成wav,因为ios真机不支持amr格式播放。ios测试都正常,可以正常上传下载播放。...但是安卓的录音上传成功之后,ios下载之后无法播放,一直格式转换失败。网上找了很多,发现是录制录音时,安卓的格式设置不对,正确的设置应该如下图(图是网上拷的,侵删): ?
常见问题 在 iOS 端做音视频相关 App 过程中咱们经常会遇到音频管理的相关问题,下面介绍一下 AVAudiosession 的基本使用,并结合使用腾讯云视频 TXLiteAVSDK 项目中碰到的一些问题场景实现分享...结束音频使用如何通知其它 App 继续播放?...] setActive:YES error:nil]; 在 iOS 端使用 AVAudioSession 来管理音频,最简单的使用如上设置下音频模式,然后激活音频会话就可以了。...AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:outError]; } 直播播放过程中突然出现画面正常,但是没有声音现象...//deactive音频会话会导致本App音频无法使用,没有声音。
4、服务未运行:这个应该是很多用户容易忽略的问题,那就是关闭了音频服务。当然可能并非是有意关闭,而是在进行开机优化的时候给禁止,这样导致的后果就是开机并没有启动音频服务,因此电脑没有声音。...4、服务未运行:这个应该是很多用户容易忽略的问题,那就是关闭了音频服务。当然可能并非是你有意关闭,而是在进行开机优化的时候把它给禁止了,这样导致的后果就是开机并没有启动音频服务,因此电脑没有声音。...3.win8.1没声音 打开控制面板--声音和音频设备--音量,勾选“将音量图标放入任务栏”。 ...4、服务未运行:这个应该是很多用户容易忽略的问题,那就是关闭了音频服务。当然可能并非是有意关闭,而是在进行开机优化的时候给禁止,这样导致的后果就是开机并没有启动音频服务,因此电脑没有声音。 ...END 注意事项 这种方法只适用于音频驱动故障关闭造成的无声现象,如果尝试后依然没有声音建议检查其他方面问题。
领取专属 10元无门槛券
手把手带您无忧上云