Unix 音频系统 API

     2023-02-25     218

关键词:

【中文标题】Unix 音频系统 API【英文标题】:Unix audio system API 【发布时间】:2012-03-26 14:57:41 【问题描述】:

我想将现有的 Windows 应用程序移植到 Unix,但我找不到有关 Unix 音频系统的某些信息,如果有人能分享他们在这方面的经验,我将不胜感激。

我该怎么做:

获取所有连接到 PC 的声卡? 获取声卡通道数? 获取每个声道的当前声卡音量? 连接到音频系统并计算正在播放的声音的响度(类似于 Windows 7 音量控制 - 它用绿色条绘制“响度”)。 (我了解所涉及的数学,但看看系统是否已经提供了类似的包)?

是否可以为每个 Unix 系统执行此操作,或者我必须为每个系统执行此操作(在 FreeBSD、Ubuntu...上)?

【问题讨论】:

这里有一个类似的问题和答案:***.com/questions/9345766/… 【参考方案1】:

Unix 有一大堆音频框架。您可能最终不得不以平台/框架相关的方式做一些工作。我建议开始使用 PortAudio/PortMixer。它由 Audacity 使用,因此希望它可以满足您的大部分需求。但它应该支持最常见的 Unix 变体,例如 Mac OS X、Linux-Alsa、Linux-OSS、FreeBSD,我想还有更多。

【讨论】:

【参考方案2】:

在各种仍然存在的 Unix 上有许多不同的竞争声音 API。

Linux 似乎已经融合了PulseAudio API 用于通用的声音输出;我的理解是,这与 DirectSound 具有相似的功能。您还应该研究ALSA,它是一个仍然被广泛使用的较低级别的API,以及JACK,它与PulseAudio 处于同一级别,但专门用于录音棚类型的工作。这些应该可以在所有最近的 Linux 发行版上使用。 (注意:如果您试图以第三方软件供应商的身份分发 Linux 的编译代码,那么您做错了。分发源代码,分发版将为您编译它。)

文档PulseAudio 和JACK 也可以在FreeBSD 上使用,但我不知道它们在哪里受欢迎。我不知道任何其他 BSD 或剩余的专有 Unix。

远离任何自称为“OSS”的东西,除非你别无选择。这最初是一个古老的、早已过时的内核级声音 API 的名称,仅适用于 Linux。最近一次尝试复活它(“OSSv4”)AFAICT 只成功地产生了一个僵尸。

【讨论】:

您是否知道获取声音流(使用数字信号处理来计算响度)甚至更好的当前音频的声音“响度”的最简单方法(哪个 API)? 不,抱歉,我从来没有真正用这些编程过。

android音频系统:从audiotrack到audioflinger(代码片段)

1.Android音频框架概述Audio是整个Android平台非常重要的一个组成部分,负责音频数据的采集和输出、音频流的控制、音频设备的管理、音量调节等,主要包括如下部分:AudioApplicationFramework:音频应用框架AudioTrackÿ... 查看详情

android音频api(代码片段)

Android系统提供了四个层面的音频API:Java层MediaRecorder&MediaPlayer系列;Java层AudioTrack&AudioRecorder系列;Jni层opensles;JNI层AAudio(AndroidO引入)下面分别介绍这些API的使用及特点。1.MediaRe 查看详情

如何通过 API 或 JS 结合视频和音频? [关闭]

】如何通过API或JS结合视频和音频?[关闭]【英文标题】:HowtocombinevideoandaudiothroughAPIorJS?[closed]【发布时间】:2015-03-0600:13:01【问题描述】:我正在设计一个执行以下操作的系统:用户上传视频,JS代码查找视频长度。对现有服务... 查看详情

如何使用 unix Sockets API 查找本地可用的 UDP 端口

...端口。因为我只想触发并忘记UDP数据报,所以我想让操作系统选择一 查看详情

coreaudio基础概念

...AudioFileService的扩展补充。AudioFileService对存储到磁盘上的音频文件进行操作,而AudioFileStreamService并不一定关联到某个文件上,它更适合基于网络的音频应用程序。通过它可以将数据转换为PCM格式或者从PCM格式转换成数据。可以将... 查看详情

将 VST 音频效果/插件应用于音频文件

】将VST音频效果/插件应用于音频文件【英文标题】:ApplyVSTaudioeffect/plugintoaudio-file【发布时间】:2010-12-0116:06:17【问题描述】:这是我在这里偷偷摸摸了一段时间后的第一个问题。所以放过我吧。我需要通过CLI或C++将iZotopeVinylVST... 查看详情

android音频系统:从audiotrack到audioflinger(代码片段)

1.Android音频框架概述Audio是整个Android平台非常重要的一个组成部分,负责音频数据的采集和输出、音频流的控制、音频设备的管理、音量调节等,主要包括如下部分:AudioApplicationFramework:音频应用框架AudioTrackÿ... 查看详情

微信小程序全局音频播放

参考技术A育儿柚道小程序中有针对育儿教育提供的音频课程,主要包含读书、读文的音频内容。综上述的需求,分析出我们的系统需求,小程序中对于音频播放有两种我们用到的属性和方法如下:将播放器的产品组成分为三层... 查看详情

unity音频插件-masteraudio实现音频管理系统(代码片段)

...a;MasterAudio的是一个整体解决方案,所有的丰富的游戏音频需求。内置的音乐闪避,手动和自动的声音触发真正的随机声音变化,音频汇集全3D声音功能。支持所有出口的手机游戏平台,具有一流的性能。主音频在... 查看详情

unix网络编程需要买几卷

...间通信,是更高级的操作了。不过卷2也不贵。如果不是系统地去学的话,可以不买。网上的资料也多的是,多找找就基本能搞定很多事情了。 参考技术B两卷:第一卷:套接字联网API;第二卷:进程间通信。 参考技术C两卷:第... 查看详情

将录制的音频从浏览器保存到 Python API 作为 WAV 文件

】将录制的音频从浏览器保存到PythonAPI作为WAV文件【英文标题】:PersistingrecordedaudiofrombrowsertoPythonAPIasWAVfile【发布时间】:2019-03-1622:46:57【问题描述】:我正在做一个需要我做的项目:从浏览器录制音频(目前通过MediaRecorderAPI... 查看详情

uniapp实现音频播放抢占系统音频焦点(代码片段)

项目为使用uniapp框架开发的Android/iOSAPP应用实现功能需求假设手机正在播放音乐,当前APP处于前台收到消息,需播放提示音提示用户。目标为降低后台正在播放音乐的音量,播放提示音,播放完毕后恢复后台音乐... 查看详情

ios音频播放

参考技术A·iOS系统中的音频播放方式·AVAudioPlayer、AVPlayer、系统声音、音频队列·AVAudioPlayer·使用简单方便,但只能播放本地音频,不支持流媒体播放·AVPlayer·iOS4.0以后,可以使用AVPlayer播放本地音频和支持流媒体播放,但提供接... 查看详情

用于访问稀疏文件的操作系统 API?

】用于访问稀疏文件的操作系统API?【英文标题】:OperatingsystemAPIforaccessingsparsefiles?【发布时间】:2010-12-0406:45:27【问题描述】:我至少需要测试文件中的字节范围是否确实存在或无效。它需要在主要操作系统上运行:Unix(Linux/M... 查看详情

Unix C++ 第三方 API 调用

】UnixC++第三方API调用【英文标题】:UnixC++ThirdpartyAPICall【发布时间】:2015-02-0911:50:06【问题描述】:我在我的C++应用程序中使用从第三方SO文件导出的API。该第三方API正在向我的Unix控制台写入一些消息。我假设API使用了多线程... 查看详情

音频处理音频输出

Windows下的音频输出常用的3中方法:1.PlaySound:使用最简单直接,但是不够灵活,功能也非常单一,无法混音;2.WaveOut:早期的Windows系统中广泛应用的音频输出程序接口,功能比PlaySound较完善(WaveIn用于音频输入);3.DirectSound:现... 查看详情

安装freebsd操作系统

参考技术A前言FreeBSD是一种类UNIX操作系统,是由经过BSD、386BSD和4.4BSD发展而来的Unix的一个重要分支。FreeBSD为不同架构的计算机系统提供了不同程度的支持。并且一些原来BSDUNIX的开发者后来转到FreeBSD的开发,使得FreeBSD在内部结... 查看详情

什么是类unix系统?

之前写(UNIX/Linux系统结构)的时候就说过,现在很多成功的操作系统其实都是借鉴的Unix,包括macOS,linux,FreeBSD等这些系统相对Unix就是类Unix系统这其中,和Unix最紧密,最有竞争关系的系统就是linu... 查看详情