问题标签 [audioformat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
145 浏览

android - Android MediaRecorder 创建 16 位 PCM 编码的音频文件

我需要在 Android 上以AudioFormat.

不过网上使用的例子MediaRecorder。是否可以使用它来录制 16 位 PCM 编码的文件?

0 投票
1 回答
26 浏览

android - Android 和 PC 之间的音频路由会产生白噪声

我正在尝试在 windows 和 android 之间发送音频,我成功地将 windows 发送到 windows 但是当我从 android 流式传输音频时,它只会产生白噪声。我认为这是 android 和 Windows 中的 AudioFormat 的问题,因为我猜当我将示例 Bits 更改为 8 时,我在耳机的一侧听到了声音,但随后它也消失了。

在安卓端

在 Windows 端

和 getAudioFormat 功能是

只听到白噪音,如果有人可以帮忙,请做。

0 投票
2 回答
383 浏览

python - 如何在内存中将 .wav 转换为 .mp3?

我有一个some.npy文件中的 numpy 数组,其中包含以该.wav格式编码的音频文件的数据。

some.npy是用sig = librosa.load(some_wav_file, sr=22050)和创建的np.save('some.npy', sig)
我想转换这个 numpy 数组,就好像它的内容是用编码的一样.mp3

不幸的是,出于两个原因,我仅限于使用内存中的文件对象。

  1. 我有很多.npy文件。它们是预先缓存的,在实际运行应用程序时拥有这么多“真实”I/O 会非常低效。
  2. 在服务器上执行应用程序的人的访问权限冲突。

首先,我一直在寻找一种直接将numpy数组中的数据转换的方法,但是似乎没有库函数。那么有没有一种简单的方法可以通过内存中的文件对象来实现这一点?

注意:我发现这个问题如何在 Python 中将 MP3 转换为 WAV,其解决方案在理论上可以适应,但这不是内存中的。

0 投票
0 回答
22 浏览

ios - 当来自后台时,CMSampleBuffer 的音频格式会发生变化

我正在使用 AVFoundation 的 AVCaptureSession 捕获音频和视频,使用 AVCaptureVideoDataOutputSampleBufferDelegate 和 AVCaptureAudioDataOutputSampleBufferDelegate 来收集 CMSampleBuffers 并使用 AVAssetWriter 将它们写入文件。

我面临的问题是,如果用户进入后台并返回,则在录制时,CMSampleBuffer 的 AudioFormat 将从:

这个

对此:

这显然会导致 AVAssetWriter 中的 AudioInput 出现问题并导致写入失败

有谁知道发生了什么?

至于 CaptureSession 设置:

输入:前置/后置摄像头和内置麦克风

输出:AVCaptureVideoDataOutput & AVCaptureAudioDataOutput

开始会话时,我正在更改 videoInput 设备中的活动格式

谢谢,约阿夫

0 投票
1 回答
19 浏览

java - 来自文件转换的 AudioInputStream 给出“frameLength=-1”

我正在尝试从特定格式的文件中获取 AudioInputStream。当我在其中打开文件时,fileStream我得到一个正的 frameLength,这意味着可以读取文件并且 AudioInputStream 有效地包含数据。现在我想用 AudioSystem 转换它,AudioSystem.getAudioInputStream(format, fileStream);并且获得的流audioStream的 frameLength 为-1。我什至确保支持转换,而且确实如此。

我完全被卡住了,我还没有找到任何有同样问题的人。我欢迎任何关于不同库的建议,但我更愿意继续使用这个,因为我已经习惯了。

0 投票
1 回答
43 浏览

java - 从 AudioSystem 获取支持的 AudioFormat 列表

我希望能够调查AudioFormat系统支持的可用类型,以便从一系列选项中选择合适的类型,使用帧速率和通道的首选值和备用值。

AudioSystem不支持直接查询支持的音频格式,但我可以SourceDataLineMixer. 并SourceDataLine继承了一个DataLine.Info内部调用,它有一个返回可用格式的方法:getFormats ().

所以我的主要问题是:有没有办法从 Java 音频系统中获取支持的对象数组?AudioFormat

失败了:有没有办法从 a 中获取支持的对象数组?AudioFormatMixer

失败了:是否可以DataLine.Info从 a 中获取对象SourceDataLine

理想情况下,我想做以下事情

但这在线上失败了,DataLine.Info lineInfo = (DataLine.Info) rawLineInfo;因为rawLineInfo显然是一个依赖于实现的对象,而不是DataLineInfo.

mixer.getSourceLineInfo ()不返回数组真的非常令人失望DataLine.Info。没有理由不能,因为可以肯定地知道有关的行是 的实现,SourceDataLine因此必须支持AudioFormat.

在接受的答案中使用@gpasch(感谢heaps buddy)提供的信息,这是我的最终解决方案。函数isDesirable仅识别我感兴趣的音频格式。类AudioFormatKey是一个包装器,它equals()distinct()转换和转换compareTo()提供实现sorted()

0 投票
0 回答
28 浏览

java - AudioFormat 为 FLAC 文件返回异常但适用于 WAV 文件?

我正在使用 AWS Speech to text API 进行转录。为此,我将文件InputStream从存储它的 GCP 中获取。用于BufferedInputStream避免屏蔽/重置错误。下面是代码:

我需要AudioFormat这样才能找出 mediaEncoding 和 mediaSampleRateHertz。

我已经尝试使用.wav文件并且它工作正常但是如果我尝试使用.flac文件它会引发以下异常

我搜索了很多类似的问题,但无法找到具体的解决方案。任何帮助或建议将不胜感激。