首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >24位音频流是如何传送到图形的?

24位音频流是如何传送到图形的?
EN

Stack Overflow用户
提问于 2017-06-20 10:44:35
回答 1查看 277关注 0票数 3

这可能是一个非常愚蠢的问题,但经过一段时间的搜索,我找不到一个直接的答案。

如果源过滤器(如LAV音频编解码器)正在处理24位的整体音频流,那么如何将单个音频样本传递到图形中?(为了简单起见,让我们考虑单声道流)

它们是单独地存储在32位整数上,没有使用最重要的位数,还是以打包的形式存储,下一个样本中最不重要的位占用了当前样本的备用、最重要的位?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-20 11:25:52

它的格式类似于16位PCM:值是有符号整数,即小endian。

使用24位音频,您通常使用WAVEFORMATEXTENSIBLE结构来定义格式,而不是WAVEFORMATEX (好的,后者也可以被某些过滤器所接受,但通常您需要使用前者)。

该结构有两个值:每个样本的位数和每个样本的有效位数。因此,可以将24位数据表示为24位值,也可以表示为32位值的24位有意义的位。有效载荷数据应该与格式相匹配。

在一个字节中不存在不同样本的混合:

但是,wBitsPerSample是容器大小,必须是8的倍数,而wValidBitsPerSample可以是任何不超过容器大小的值。例如,如果格式使用20位示例,则wBitsPerSample必须至少为24,但wValidBitsPerSample为20。

据我所知,通常只有24位值,即每个PCM示例三个字节。

非PCM格式可能定义不同的打包并更有效地使用“未使用”位,因此,例如,对于20位音频的示例来说,要消耗5个字节。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44660805

复制
相关文章
【Android 高性能音频】AAudio 音频流 音频设备 相关配置 ( 音频设备ID | 音频流方向 | 音频设备共享模式 )
创建 AAudio 音频流 , 需要先创建 AAudio 音频流构建器 , 然后在通过该构建器创建音频流 ;
韩曙亮
2023/03/27
2K0
Python 的传参是传值还是传址?
Python对可变对象(字典或列表)传址, 对不可变对象(数字、字符或元祖)传值。
宇宙之一粟
2020/10/26
1.7K0
【Android 高性能音频】Oboe 开发流程 ( 检查 Oboe 音频流属性 | 开始播放 | 停止播放 | 关闭 Oboe 音频流 | 重新配置 Oboe 音频流属性 )
在 【Android 高性能音频】Oboe 开发流程 ( 导入 Oboe 库 | 使用预构建的二进制库和头文件 | 编译 Oboe 源码 ) 博客中介绍了 如何导入 Oboe 函数库到项目中 , 本博客中在导入 Oboe 函数库的基础上 , 进行 Oboe 播放器功能开发 ;
韩曙亮
2023/03/28
1K0
【Android 高性能音频】Oboe 开发流程 ( 包含头 Oboe 头文件 | 创建音频流 | 设置音频流 | 音频流回调类 AudioStreamCallback )
在 【Android 高性能音频】Oboe 开发流程 ( 导入 Oboe 库 | 使用预构建的二进制库和头文件 | 编译 Oboe 源码 ) 博客中介绍了 如何导入 Oboe 函数库到项目中 , 本博客中在导入 Oboe 函数库的基础上 , 进行 Oboe 播放器功能开发 ;
韩曙亮
2023/03/28
8020
python flask音频流/文件服务
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/details/78658791
bear_fish
2018/09/14
3K0
python flask音频流/文件服务
python传参是传值还是传引用
在此之前先来看看变量和对象的关系:Python 中一切皆为对象,数字是对象,列表是对象,函数也是对象,任何东西都是对象。而变量是对象的一个引用(又称为名字或者标签),对象的操作都是通过引用来完成的。例如,a = []是一个空列表对象,变量 a 是该对象的一个引用 例1 def test(c): c.append("hello world") print(c,id(c)) return list = [1,2] test(list) print(list,id(list)) 输出 [1, 2, 'hel
用户1679793
2018/04/28
3.6K0
当WebRTC Pion示例无音频流的时候,如何添加音频模块并通过浏览器播放?
Pion WebRTC是纯Go语言实现的WebRTC框架库。可以用于开发WebRTC服务器和WebRTC客户端。API接口与JavaScript类似,减少学习成本。在TSINGSEE青犀视频研究pion的示例中,只有视频流,因此拉流肯定也会只拉到视频流,而不会有音频流。那如何添加音频流,并在浏览器播放出来?本文研究一下实现方法。
TSINGSEE青犀视频
2021/05/18
1.9K0
【Android 高性能音频】AAudio 音频流 构建器 ( AAudio.h | 流构造器 | 音频设备配置 | 音频采样配置 | 构建器销毁 )
创建 AAudio 音频流 , 需要先创建 AAudio 音频流构建器 , 然后在通过该构建器创建音频流 ;
韩曙亮
2023/03/27
5900
空间音频技术是如何增强沉浸式体验的?| ARVR
Apple正在开发一种新的音频格式,即使在用户移动,戴着“ Apple Glass ”或其他AR设备时,也可以更轻松沉浸式地在用户周围放置“3d声音”。
mixlab
2020/09/23
1.4K0
空间音频技术是如何增强沉浸式体验的?| ARVR
【Android 高性能音频】Oboe 音频流打开后 耳机 / 音箱 插拔事件处理 ( 设置 Oboe 音频设备 ID | setDeviceId 函数原型 | AudioStream 音频流 )
Android 中的 Oboe 音频流创建时 , 可以在 oboe :: AudioStreamBuilder 中设置 设备 ID , 音频流一旦创建成功 , 如果是 Android 8.0 以上的系统 , 则不能修改设备 ID , 必须销毁当前的 Oboe 音频流 , 重新使用 oboe :: AudioStreamBuilder 创建音频流 ;
韩曙亮
2023/03/29
2.5K0
【Android 高性能音频】Oboe 音频流打开后 耳机 / 音箱 插拔事件处理 ( 设置 Oboe 音频设备 ID | setDeviceId 函数原型 | AudioStream 音频流 )
IOS支持音频流断点续传
在使用cgi编写输出音频流接口,前端同事无法拖动播放,于是查阅资料找到了一个关键词:断点续传 断点续传的解释: 断点续传:指的是在上传/下载时,将任务(一个文件或压缩包)人为的划分为几个部分,每一个部分采用一个线程进行上传/下载,如果碰到网络故障,可以从已经上传/下载的部分开始继续上传/下载未完成的部分,而没有必要从头开始上传/下载。可以节省时间,提高速度。 断点续传的用途: 有时用户上传/下载文件需要历时数小时,万一线路中断,不具备断点续传的 HTTP/FTP 服务器或下载软件就只能从头重传,比较好的 HTTP/FTP 服务器或下载软件具有断点续传能力,允许用户从上传/下载断线的地方继续传送,这样大大减少了用户的烦恼。 常见的支持断点续传的上传/下载软件:QQ 旋风、迅雷、快车、电驴、酷6、土豆、优酷、百度视频、新浪视频、腾讯视频、百度云等。 HTTP1.1 协议(RFC2616)开始支持获取文件的部分内容,这为并行下载以及断点续传提供了技术支持。它通过在 Header 里两个参数实现的,客户端发请求时对应的是 Range ,服务器端响应时对应的是 Content-Range。 解决方案: 在返回标头中新增两个参数 printf("Content-Length: %ld\n", file_size); printf("Content-Range: bytes 0-%ld/%ld\n", file_size - 1, file_size); 这里我将文件长度和范围都返回给前端,实现了拖动播放。
lainzhang
2022/08/24
1.2K0
【Android 高性能音频】AAudio 音频库 简介 ( AAudio 音频库简介 | 音频流 | 音频设备 | 共享模式 | 数据模式 )
1. AAudio 音频流设备 : 数据从耳机输入 , 数据 输出 到发音设备 ;
韩曙亮
2023/03/27
2.3K0
EasyDSS视频平台是如何对直播流和点播流做处理的?
EasyDSS提供视频转码、视频处理、视频检索与回看等,对于EasyDSS此类视频云平台来说,拥有庞大的流媒体分发网络、强大的转码系统、海量分布式存储服务、功能完善的全平台 SDK 包都显得十分重要。
TSINGSEE青犀视频
2021/05/21
8960
Maven 在运行部署的时候是如何确定推送到 releases 还是 snapshots 仓库的
我们都知道 mvn deploy 命令的功能就是将编译部署的结果推送到不同的仓库中。
HoneyMoose
2021/04/26
6630
Maven 在运行部署的时候是如何确定推送到 releases 还是 snapshots 仓库的
国标GB28181协议视频推流平台EasyGBD手机推流如何实现音频采集功能?
在之前的博文中,我们和大家分享了国标EasyGBD视频推流组件在开发过程中,实现了视频采集功能(EasyGBD搜集视频采集数据功能是如何实现的),那么同样,音频采集也是我们需要完善的地方。
TSINGSEE青犀视频
2021/02/01
1.4K0
去中心化在线协作:Feakin 的图形协作是如何设计的?
与常规的在线可视化协作相比较,对于 Feakin 这一类的图即代码的绘图工具来说,其在线协作可以直接简化为三个元素: 在线:通讯协议与数据格式 协作:中心化还是去中心化? 编辑:多端 CRDT与编辑器集成 从技术的层面来说,这些问题并不复杂,只是熟悉概念需要一个过程。但是呢,「中心化还是去中心化」这个问题非常有意思,毕竟从 Web 3.0 的韭菜热度来看,未来人们更想到去中心化的世界。 PS:在线绘图 Demo:https://online.feakin.com/ ,可以通过复制 Room ID 给其他人来
Phodal
2022/09/13
7350
去中心化在线协作:Feakin 的图形协作是如何设计的?
【Android 高性能音频】AAudio 音频流 读写操作 ( 音频流读写数据 | 阻塞时间设定 | 注意事项 | AAudioStream_read | AAudioStream_write )
1 . 创建 AAudio 音频流 : 使用 AAudio 音频流构建器 AAudioStreamBuilder 创建 AAudio 音频流后 , 调用 AAudioStreamBuilder_openStream 打开 AAudio 音频流 , 此时音频流正式创建 ;
韩曙亮
2023/03/27
1.3K0
如何将RTSP平台EasyNVR的视频流推送到RTMP协议视频直播点播平台EasyDSS中直播?
作为TSINGSEEE青犀视频安防服务平台,云边端架构中的很多产品都能够联合起来,作为一套完整的方案在实际项目中使用。比如RTSP协议视频平台EasyNVR,既能够与EasyGBS进行级联,也能够将通道推到EasyDSS中直播。关于EasyNVR和EasyGBS的级联,之前的博文介绍过,大家可以参考一下:EasyGBS如何实现调阅EasyNVR视频平台的视频?
EasyNVR
2020/11/24
1.2K0
如何将RTSP平台EasyNVR的视频流推送到RTMP协议视频直播点播平台EasyDSS中直播?
Python通过flask搭建音频流/文件服务
代码中读取文件每次读取1024字节,而不是一次全部读取到文件中,于是利用到了python 的 yield,为了简化问题,上面仅仅传递当前系统指定路径下的文件(实际工作中还有很多要处理,日志模块、视频处理分析等其他模块)
用户9925864
2022/07/27
2.1K0
Python通过flask搭建音频流/文件服务
使用Liquidsoap生成实用音频和视频流
本篇是来自FOSDEM2020 Open Media devroom的演讲,演讲者是Romain Beauxis,演讲主题是“使用Liquidsoap生成实用音频和视频流”。
用户1324186
2020/02/21
1.3K0

相似问题

soundcloud音频流是如何工作的?

12

如何将WAV音频流发送到diaglogflow

10

将音频流发送到不同端口

10

现场视频或音频流是如何工作的?

11

Python -传值是如何工作的?

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文