问题标签 [flac]

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 投票
1 回答
22632 浏览

header - 检测文件是否为 MP3 文件?

我正在编写一个 C++ 库,用于在不同格式/编解码器之间解码和编码音频。在加载所需的编解码器库之前,我有一个快速检测格式的例程。

对于 WAV 文件,可以简单地在文件开头查找 ASCII 值“RIFF”和“WAVE”。这同样适用于 FLAC,我们可以简单地读取前 4 个字节,即“fLaC”。

但是如何快速检测文件是否为 MP3?我不能依赖文件扩展名。我也无法尝试解码第一个 MP3 帧,因为文件开头可能有其他数据(例如:ID3、封面图像等)。

0 投票
1 回答
4096 浏览

streaming - 为什么 FLAC Streaming over HTTP 是通过 Ogg 封装而不是本机完成的?

当前所有的 FLAC 流实现(例如 Edcast 和 Icecast)似乎都在流时使用 Ogg 作为 FLAC 的容器。

  1. 这是什么原因?
  2. 使用 Ogg 而是流式传输“本机”FLAC 流有什么缺点?

我已经做了一些通过 HTTP 流式传输 FLAC 的测试,它似乎在 VLC 中工作得很好。FLAC 似乎以这样一种方式构建,即帧可以独立站立,使其能够抵抗流损坏和/或丢帧。鉴于此,我不太明白为什么在 Ogg 中包装 FLAC 是必要的。

0 投票
1 回答
1202 浏览

java - jFLAC。拆分 FLAC 文件

我需要将 flac 文件拆分为多个部分。我正在使用 jFLAC 库来读取 flac 文件

然后我试图解码到 SeekPoints 之间的父文件

我也不太明白如何正确地获得秒值的这个搜索点。例如,我需要从 0 秒到 150 秒的第一个搜索点。如何获得正确的搜索点对象?Seekpoint cinstructor 是

解码器也有一些监听器来监听每个读取块动作。

写入完成后,我想播放新的 flac 文件,但我的播放器提示该文件不正确。我需要做什么才能打开我的 flac 文件?也许我需要向这个文件或其他东西写一些标题?

0 投票
1 回答
960 浏览

shared-libraries - 如何将 libFLAC 交叉编译为共享库?

我正在尝试从 Linux 交叉编译适用于 Windows 的libFLAC。以下是我执行的步骤:

  1. 我下载了最新版本(1.2.1)并解压了压缩包。

  2. 我应用了一个小补丁

    /li>
  3. 我在提取的目录中运行了以下命令:

    /li>
  4. 然后我跑了make,等待图书馆建立。

  5. 尽管在构建过程中没有错误,但没有构建共享库——我最终得到的只是一个静态库(尽管在./configure上面的步骤中明确请求了一个)。如果我运行make install,我最终会得到以下文件/目录:

    在此处输入图像描述

这两个命令的输出可在此处获得:


编辑:如果我使用选项--disable-static,我会得到这个输出: http: //paste.ubuntu.com/1161441/

0 投票
0 回答
2246 浏览

android - How to encode wav files to flac format on android

I have a bytearray that holds an wav audio stream.

Is there a way on android system to convert the wav file to a flac file?

I found some example code from FlacEncoder library but this library assumes as far as I see the use of some audio classes from javax.

These are not available on android.

Is there some other library or some example code for android?

Thanks!

0 投票
0 回答
1786 浏览

java - 无法使用 javaFlacEncoder 库将 wav 文件转换为 flac 文件

我有以下问题。

我用我的安卓设备录制了我的演讲的 wav 文件。我说:“1 2 3 4 5”

我可以在我的电脑上播放 wav 文件。

我想使用库 javaFlacEncoder-0.2.3.jar (http://sourceforge.net/projects/javaflacencoder/) 转换 wav 文件

这是我使用的代码:

生成了flac文件,我可以打开并听到它。问题是,音频的开头不知何故被切断了。它直接以“4 5”而不是“1 2 3 4 5”开头。

所以缺少 wav 文件开头的一些音频。

当我使用此服务转换相同的 wav 文件时:http: //audio.online-convert.com/convert-to-flac

我得到一个 flac 文件,它被正确转换(我听到“1 2 3 4 5”,所以是整个音频。)

你知道问题可能出在哪里吗?或者是否有另一个易于使用的 wav2flac 库?

问候,苏比

0 投票
3 回答
1004 浏览

python - 如何在 Python 中唯一标识媒体文件的内容,而不是元数据?

我有一系列媒体文件,主要是音乐,其中大部分是多年前从 CD 导入的。这个集合已经在不同的媒体播放器、不同的文件系统、不同的计算机等之间传输了很多次。在这个过程中,一些曲目被意外复制了。我还不断尝试整理这些元数据并正确标记所有内容,因为当大部分内容最初是导入时,我没有花哨的媒体播放软件,甚至没有意识到 ID3 标签表明一切都只是“经典专辑“Album”中的曲目 %d”。

这会产生这样一种情况,即我有一些具有最新元数据的文件,但是我想删除的同一媒体文件的“重复”,其元数据尚未正确更新。由于元数据存在于文件中,因此这些文件的内容现在有所不同,并且像liten2这样的工具不起作用。

我的问题是:是否有一个库可以方便地提取文件的媒体内容的唯一标识指纹(可能是某种加密哈希,但这不是硬性要求),而忽略元数据?如果是这样,我该如何使用它?

0 投票
1 回答
495 浏览

python - 来自flac文件的数组中的PCM数据

我有一个 flac 文件,我需要分析它的波形,所以我需要将 pcm 数据放在一个数组中。是否有一些库可以为我执行此操作而无需使用命令行工具转换文件?我可以同时使用 Python 和 C。

0 投票
1 回答
415 浏览

byte - PCM 样本位置 [字节偏移] 在 flac

我有一个 flac 文件,我必须对波形进行一些分析,以寻找特定的样本。所以我在 PCM 数据中解压缩了它们,但是我需要知道,flac 文件中的特定样本在哪里。

所以:我知道PCM数据或wav文件中的字节偏移量,我想知道flac文件中压缩样本的字节偏移量。

我能怎么做?

0 投票
1 回答
440 浏览

audio - FLAC 音频格式是否有多种质量设置?

我正在编写一个编码软件并处理未压缩的 wav 和 flac 格式。我的问题是,flac 应该是一种无损格式,类似于 wav 但经过压缩。但是,某些软件(例如 JRiver 的媒体中心)提供了用于编码 flac 文件的“质量”设置。这是否意味着他们提供降低质量预编码或我错过了 flac 标准中的某些内容?