【Unity】流式播放远端音频:WAV格式音频篇(一)

这篇具有很好参考价值的文章主要介绍了【Unity】流式播放远端音频:WAV格式音频篇(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. 先了解一下wav的格式:

参考1:【音频】WAV 格式详解_tyustli的博客-CSDN博客_wav文件格式详解wav 文件支持多种不同的比特率、采样率、多声道音频。WAV 文件格式是 Microsoft 的 RIFF 规范的一个子集,用于存储多媒体文件。RIFF(resource interchange file format 资源互换文件格式,以 chunk(块) 为单位组织文件)格式文件。在 windows 上,大部分多媒体文件都是 RIFF 文件。............_1671465600https://blog.csdn.net/tyustli/article/details/126240571
WAV格式文件分析_河合 曜的博客-CSDN博客_wav格式详解WAV格式文件分析目录WAV格式文件分析概述一、WAV格式文件1、波形声音文件格式 WAV2、音频文件参数简介二、文件结构1、WAV文件的文件头2、WAV文件的数据体三、WAV格式文件数据体结构1、RIFF Chunk区块2、Format Chunk区块3、DATA区块总结参考及引用材料概述WAV格式目前是最常见的音频文件格式之一,是微软公司专门为旗下Windows操作系统开发的一种标准数字音频文件。WAV格式文件最早于1991年8月出现在Windows 3.1操作系统上,文件扩展名为*.wav,是https://blog.csdn.net/weixin_48680270/article/details/123523517

  1. 简单说一下思路:首先unity的AudioClip可以按stream模式加载,然后wav格式存储的数据可以按顺序读取,除了前面的几个chunk,后面都是data部分。结合以上2点,写2个类,第1个类完成对wav数据的分块读取;第2个类使用UnityWebRequest获取远端音频数据,然后将数据块依次喂给第1个类,同时创建stream类型的AudioClip,使用PCMReaderCallback填充音频数据就可以了。
  2. // audio clip 创建用到的接口
    public static AudioClip Create(string name, int lengthSamples, int channels, int frequency, bool stream, PCMReaderCallback pcmreadercallback, PCMSetPositionCallback pcmsetpositioncallback);
    // UnityWebRequest 需要重写一下 downloadHandler,用来依次接收数据块
    public class StreamDownloadHandler : DownloadHandlerScript
    // wav解析没啥特别的,参考我以前的blog就行,需要调整逻辑为可以碎片加载就好

    wav解析参考:Unity运行时加载外部mp3/wav音频_unity 加载音频_GrimRaider的博客-CSDN博客Unity runtime load mp3/wavLib: NAudio, NLayerhttps://blog.csdn.net/GrimRaider/article/details/126770083?spm=1001.2014.3001.5501

 目前的缺陷:

  1. 不能很好的处理从中间位置播放,主要原因是目前web下载的数据只能从文件头开始下。

源码后续放出文章来源地址https://www.toymoban.com/news/detail-740421.html

到了这里,关于【Unity】流式播放远端音频:WAV格式音频篇(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt SDL2播放Wav音频

    这里介绍两种方法来实现Qt播放Wav音频数据。 方法一:使用QAudioOutput pro文件中加入multimedia模块。 注意这里采样率、通道数和采样大小的设置,本例只能用来播放无损的WAV。 方法二:使用SDL2来播放 接下来演示一下如何使用SDL播放WAV文件。 初始化子系统:  加载WAV文件: 打

    2024年01月18日
    浏览(29)
  • 音频格式(一)PCM和WAV

            想要了解音频首先要了解它的构造,知道它怎么从声音变成文件,又怎么从文件变成声音。文件格式根据需求和技术的进步有了不同的版本,不同的文件格式有其不同的文件构造。我们先从最原始的两种音频文件入手,讲一讲常见的音频文件格式。首先是PCM和WAV   

    2023年04月24日
    浏览(26)
  • STM32实现用DAC播放wav音频

            我用的是STM32F103RE单片机,flash是512k的,播放几秒的音频直接存在数组里面就好了。如果要播放更长的音频要加外置flash。         主要流程:从网上下载一段音乐 ----——修剪成5秒以内——转换成WAV—— 转换成数组存到代码中                 修剪音频我

    2024年02月16日
    浏览(59)
  • 将音频格式从flac转到wav的两种方法

    最近在智能语音中用到了数据集cn-celeb。这个数据集的音频格式是flac,而在做数据增强(augmentation)以及模型训练时用的数据格式是wav,因此需要把音频格式从flac转到wav。我在ubuntu下摸索了一番,找到了两种方法。   1,基于Linux下的sox命令写shell脚本实现 SoX​​(即 Sound eXch

    2024年02月03日
    浏览(29)
  • mp3怎样才能转换成wav格式?音频互相转换的方法

    一,什么是WAV WAV,全称为波形音频文件(Waveform Audio File Format),是一种由微软公司和IBM公司联合开发的音频文件格式。自1991年问世以来,WAV格式因其无损的音频质量和广泛的兼容性,成为了多媒体应用中不可或缺的一部分。本文将从WAV格式的定义、特点、应用以及与其他音

    2024年04月14日
    浏览(34)
  • Python环境下基于自适应滤波器的音频信号(wav格式)降噪方法

    Python的集成环境我一般使用的是 Winpython , Winpytho 脱胎于pythonxy,面向 科学计算 , 兼顾数据分析与挖掘 ;Anaconda 主要面向数据分析与挖掘方面 ,在大数据处理方面有自己特色的一些包; Winpytho 强调 便携性 ,被做成绿色软件,不写入注册表,安装其实就是解压到某个文件夹

    2024年01月18日
    浏览(29)
  • 会导致电脑蓝屏的wav文件原因未知 log whea logger 17 realtek alc269系统播放音频崩溃

    以为是alc269芯片坏了,结果处理了日中的驱动错误,播放音频不崩溃了,电脑好了! 驱动错误日志: 每分钟都会产生如下的系统日志: 事件 17,WHEA-Logger 发生了已更正的硬件错误。 组件:PCI Express Root Port 错误源: Advanced Error Reporting(PCI Express) 主要设备名称:PCIVEN_8086DEV_A33CSUBS

    2024年02月09日
    浏览(33)
  • Java Mp3转化WAV/PCM音频数据,解码详细解析,提取每一帧数据集合/比特流/播放,一行代码!

    大家好!我是原子君 1 .因为Java本身只支持,wav,缺少mp3的解码器,所以Java自带的无法对mp3进行处理,这种 MPEG-*音频有损压缩标准编码 ,更不要说使用Java的音频格式和音频流就可以解决。 2 .所以本次转换需要使用到colorful1.1这种纯Java-Pc可跨平台的工具框架。 注意:colorful只支持

    2024年02月15日
    浏览(33)
  • uniapp 微信小程序 使用video 播放mp3、wav、flac等音频文件 报错 MEDIA_ERR_DECODE(-11103,11010001)

     官方解释是解码发生了错误,当是我对音频文件进行转码后并未解决这个问题,但是我想到解决方案是使用audio 标签,但是样式又非常丑自能选择自己写,然后又出现个问题audio标签获取不了播放音频总时长,差点没缓过气来。。。最后苦思冥想到了解决方案,使用video标签

    2024年02月03日
    浏览(69)
  • 使用NAudio录制wav音频

    NAudio官网 Unity2019.4.34f1c1 Window10 NAudio 1.10 .Net 3.5 StartRecording方法 启用录制 StopRecording方法 停止录制 DataAvailable 录制中回调 RecordingStopped 录制结束回调 Write方法可存储音频 WaveIn.DeviceCount 返回音频捕获设备数量 台式电脑,可能需要插入耳机才可以启用麦克风 检测到麦克风,显示

    2024年02月12日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包