首页 > 业界 > 关键词 > 音乐最新资讯 > 正文

Windows 10 BUG会破坏FLAC音频文件 现已修复

2021-06-02 10:22 · 稿源:cnbeta

如果你习惯从在线商城下载 FLAC(自由无损音频压缩编码)格式的音频文件,请不要使用 Windows10系统的资源管理器来编辑元数据。在 Windows10Version2004及更高版本中存在一个错误,如果使用资源管理器修改元数据,就有可能会损坏 FLAC 音频文件。

QQ截图20210602100734.jpg

这个 BUG 影响 Windows10专业版、家庭版、企业版、工作站和其他 SKU 版本。根据本月早些时候发布的支持文件,Windows10的文件资源管理器的错误将破坏某些FLAC文件,这些文件在FLAC头之前包含一个ID3框架。ID3是一个框架,它负责存储信息,如音乐标题、艺术家、专辑、曲目编号等。

在 Windows10系统,FLAC处理程序忽略了ID3框架,因为它认为FLAC文件在开头使用4字节的fLaC。当音乐文件被用户编辑时,ID3框架被覆盖了,没有开始代码。因此,音乐播放器无法识别修改后的文件。如果音乐文件的标题、艺术家或其他元数据在文件资源管理器中被改变,音乐文件就不会播放或加载。

幸运的是,微软已经确定了根本原因,现在可以通过Windows Update进行修复。在 KB5003214更新的更新日志中,微软确认该错误已被修复,如果你改变了他们的标题、艺术家或其他元数据,自由无损音频编解码器(FLAC)音乐文件将不再变得无法播放。

对于那些有损坏的音乐文件,微软已经发布了一个新的PowerShell脚本,你可以运行它来使文件再次播放。然而,它不能恢复存储在ID3框架中的丢失的元数据。为了避免FLAC音乐文件在未来出现问题,微软建议应用本月的可选累积更新。

解决方案

1. 打开记事本

2. 将以下脚本代码复制到记事本中

# Copyright2021Microsoft

# This script will repair a FLAC file that has been corrupted by Media Foundation in reference to KB5003430.

# Refer to KB5003430for further information

param(

[parameter(Mandatory =$ true,

HelpMessage = "The path to the FLAC file that has been corrupted by Media Foundation",

ValueFromRemainingArguments =$ true)]

[ValidateScript({ -not [String]::IsNullOrEmpty( $_) -and (Test-Path $_) })]

[String] $ File

# We need to back up the current file incase we have any errors

$ FileDirectory = Split-Path -Resolve $ File

$ Filename = Split-Path -Leaf -Resolve $ File

$ FullPath = Join-Path -Resolve $ FileDirectory $ Filename

$ Filename = [String]::Format("Backup_{0:yyyyMMdd_hhmmss}_{1}", [DateTime]::Now, $ Filename)

$ BackupLocation = Join-Path $ FileDirectory $ Filename

Write-Output "Microsoft FLAC Repair Tool. This tool will repair a FLAC audio file that was corrupted when editing its details."

Write-Output "Affected File: $ FullPath"

Write-Output "A backup of the file will be made: $ BackupLocation"

Write-Output "Do you wish to continue?"

$ choice =$ host.ui.PromptForChoice("Fixing FLAC Script", "Do you wish to continue", (Yes, No),1)

function ParseStreamInfoMetADATABlock([System.IO.FileStream] $ stream)

{

$ blockType = $ stream.ReadByte()

$ lastBlock = ($ blockType -shr7) -ne0

$ blockType = $ blockType -band0x7F

if ($ blockType -ne0)

{

return $ false

}

$ blockSize = (($ stream.ReadByte() -shl16) -bor ($ stream.ReadByte() -shl8) -bor $ stream.ReadByte())

if ($ blockSize -lt34)

{

return $ false

}

$ minAudioBlockSize = ($ stream.ReadByte() -shl8) -bor $ stream.ReadByte()

$ maxAudioBlockSize = ($ stream.ReadByte() -shl8) -bor $ stream.ReadByte()

if ($ minAudioBlockSize -lt16-or $ maxAudioBlockSize -lt16)

{

return $ false

}

$ minFrameSize = (($ stream.ReadByte() -shl16) -bor ($ stream.ReadByte() -shl8) -bor $ stream.ReadByte())

$ maxFrameSize = (($ stream.ReadByte() -shl16) -bor ($ stream.ReadByte() -shl8) -bor $ stream.ReadByte())

$ sampleInfo = (($ stream.ReadByte() -shl24) -bor ($ stream.ReadByte() -shl16) -bor ($ stream.ReadByte() -shl8) -bor $ stream.ReadByte())

$ sampleRate = $ sampleInfo -shr12

$ channelCount = (($ sampleInfo -shr9) -band0x7) +1

$ bitsPerSample = (($ sampleInfo -shr4) -band0x1F) +1

[UInt64] $ sampleCount = (($ stream.ReadByte() -shl24) -bor ($ stream.ReadByte() -shl16) -bor ($ stream.ReadByte() -shl8) -bor $ stream.ReadByte())

$ sampleCount = (([UInt64] $ sampleInfo -band0xF) -shl32) -bor $ sampleCount

$ MD5HashBytes = New-Object byte[]16

$ stream.Read( $ MD5HashBytes,0, $ MD5HashBytes.Length)

$ MD5Hash = [Guid]( $ MD5HashBytes)

if ($ sampleRate -eq0)

{

return $ false

}

# Passing these checks means that we likely have a stream info header and can rebuild the file

Write-Output "File Stream Information"

Write-Output "Sample Rate: $ sampleRate"

Write-Output "Audio Channels: $ channelCount"

Write-Output "Sample Depth: $ bitsPerSample"

Write-Output "MD5Audio Sample Hash: $ MD5Hash"

return $ true

}

if ($ choice -eq0)

{

Copy-Item $ FullPath -Destination $ BackupLocation -Force

$ stream = [System.IO.File]::Open( $ FullPath, [System.IO.FileMode]::Open)

$ stream.Seek(4, [System.IO.SeekOrigin]::Begin)

while ($ stream.ReadByte() -eq0) {}

# We now need to figure out where a valid FLAC metadata frame begins

# We are likely pointing to the last byte of the size member so well seek back4bytes and retry

$ flacDataStartPosition = $ stream.Position -4

$ stream.Seek( $ flacDataStartPosition, [System.IO.SeekOrigin]::Begin)

while (-not(ParseStreamInfoMetadataBlock( $ stream)))

{

$ flacDataStartPosition = $ flacDataStartPosition +1

$ stream.Seek( $ flacDataStartPosition, [System.IO.SeekOrigin]::Begin)

}

# Insert the start code

$ stream.Seek( $ flacDataStartPosition, [System.IO.SeekOrigin]::Begin)

if (Test-Path "$ FullPath.tmp")

{

Remove-Item "$ FullPath.tmp"

}

$ fixedStream = [System.IO.File]::Open(" $ FullPath.tmp", [System.IO.FileMode]::CreateNew)

[byte[]] $ startCode = [char[]](f, L, a, C);

$ fixedStream.Write( $ startCode,0, $ startCode.Length)

$ stream.CopyTo( $ fixedStream)

$ stream.Close()

$ fixedStream.Close()

Move-Item -Force "$ FullPath.tmp" $ FullPath

}

3. 文件菜单上,点击保存。

4. 在 "另存为 "对话框中,找到你要保存PowerShell脚本的文件夹。

5. 在文件名框中,输入FixFlacFiles.ps1,将保存类型框改为文本文档(*.txt),然后点击保存。

6. 在Windows Explorer中,找到你保存的PowerShell脚本。

7. 右键单击该脚本,然后单击用PowerShell运行。

8. 当有提示时,输入无法播放的FLAC文件的文件名,然后按回车键。

  • 相关推荐
  • 大家在看
  • CF灵狐的约定活动地址 2021CF5月灵狐的约定活动入口

    2021年5月份的CF灵狐的约定的活动开启了,这个活动想必大家都很清楚,所以下面就来为大家分享一下2021CF5月灵狐的约定活动入口。

    cf
  • Chrome商城出现虚假微软Authenticator扩展程序 已上架将近1个月

    Microsoft Authenticator 是一款非常优秀的安全工具,通过双因素认证提高账户的安全性。但近期,有诈骗者通过 Microsoft Authenticator 的好名声来欺骗用户分享他们的个人信息。援引外媒 gHacks 报道,在 Chrome Web Store 上发现了一款虚假的 Microsoft Authenticator 扩展程序。在被下架之前,该扩展已经上线将近 1 个月时间。这款扩展程序并非由微软提供,而是来自于一个名为“Extensions”的开发者。而且在评论下方还有不少积?

  • 微软宣布推出Counterfit 一个对AI系统进行安全测试的自动化工具

    鉴于复杂而恶意的网络攻击越来越多,网络安全是微软的首要任务。该公司正在不断更新其安全基础设施,以保护自己免受威胁,并建议其合作伙伴也这样做。一个被忽视的方面通常是其人工智能系统的安全。微软计划通过发布一个名为Counterfit的新工具来解决这个问题。Counterfit是微软创建的一个开源工具,用于自动化组织的AI系统的安全测试。鉴于人工智能系统在各行业的使用量很大,其最终目标是让企业对其人工智能系统的稳健性和可靠性

  • [视频]索尼Motion Sonic上架众筹:面向音乐表演者的可穿戴设备

    这是个不太常见的事情:一个全新的索尼产品通过 Indiegogo 平台进行众筹发布。这款新品名为 Motion Sonic,这是一款面向 DJ 等音乐表演者的可穿戴设备,能够根据你的动作来快速切换效果器的效果。Motion Sonic 本身确实就是个小胶囊设备,可以插入不同形状的橡胶腕带中。在弹奏吉他等乐器时有一个带子可以固定在你的手腕上,另一个带子则缠绕在你的手背上,更适合于弹奏拨片。它的实际作用是允许你将手部动作与特定的音乐效果联系起

  • CF火线大银行活动地址 2021火线大银行活动入口

    CF在最近开启了火线大银行的活动,其中有非常多的福利皮肤可以获得,一些玩家还不清楚火线大银行的活动地址,下面就来为大家详细的介绍一下。

    cf
  • 苹果炮轰微软:拿Epic当枪使 隐瞒证据

    凤凰网科技讯 北京时间5月21日消息,苹果公司在与Epic Games的庭审中将矛头对准了微软,暗示微软把Epic当枪使,并隐瞒证据。苹果周三晚间提交动议,要求法官针对代表Epic出庭作证的微软Xbox高管洛里·赖特(Lori Wright)作出负面可信度(adverse credibility)裁决。如果法院批准,那么赖特的证词将被忽略。“理性的观察者可能想知道,Epic是否在扮演微软掩护马的角色,”苹果称,“微软没有作为当事方参与这场诉讼来提供有意义的证据

  • 微软与Darktrace达成合作 借助AI帮助客户应对网络威胁

    微软在本月早些时候推出了 Counterfit,旨在帮助组织机构能够更加自动化地完成其 AI 系统的安全性测试。现在,这家科技巨头又与 Darktrace 达成了可帮助企业客户抵御各种类型的威胁的新合作。作为一家总部位于英国的网络安全 AI 公司,Darktrace 将帮助企业客户使用所谓的“自学习人工智能技术”来应对威胁。(来自:Microsoft 官网)据悉,Darktrace 的威胁响应系统能够有效应对内部威胁、间谍活动、供应链攻击、网络钓鱼、以及勒

  • CF墨子皮肤首发活动地址 2021最新黑龙墨子首发活动入口

    CF在最近开启了永久首发的黑龙墨子皮肤,这个活动可以获得很多不错的其他皮肤,还有额外的积分玩法,下面就来为大家分享一下CF墨子皮肤首发活动地址。

    cf
  • 微软推区块链服务Azure Confidential Ledger 可存储保护重要数据

    在数周前宣布关闭 Azure Blockchain as a Service 产品之后,在 Build 2021 大会上微软又推出了另一个以区块链为动力的服务--Azure Confidential Ledger,并于今天开放预览版。这是一种存储重要数据的工具。微软表示,这项服务运行在一种特殊的安全硬件上,而且具备防篡改功能,数据不能被删除或修改。和 Azure Blockchain as a Service 产品类似,Azure Confidential Ledger(ACL)是建立在区块链基础上的服务。该服务在在区块链?

  • 微软重组全球销售和商业业务 37年老将Courtois不再继续领导

    微软通常情况下会在仲夏前后宣布公司级别的重组,2021 年也不例外。微软首席执行官萨提亚·纳德拉(Satya Nadella)计划合并 Global Sales and Marketing Organization 和 Worldwide Commercial Business,而已经在公司效力 37 年之久的 Jean-Philippe Courtois 将不再继续领导合并后的新部门。目前,Jean-Philippe Courtois 是微软 Global Sales and Marketing Organization 的负责人,原本他应该是领导该公司重组部门的高管。据

  • 苹果曾拒绝关于绕过30%的微软Office佣金的谈判请求

    Epic Games诉苹果案的审判揭示了苹果与微软等公司幕后谈判的更多细节,包括绕过App Store佣金的请求。2012年的一封邮件揭示了微软推出iPad版Office以及苹果对这一消息的反应。据CNBC报道,苹果高管问微软是否想参加当年的WWDC。微软拒绝了,理由是它还没有准备好讨论其iPad计划。包括App Store高管菲尔·席勒和艾迪·库伊在内的相关人员还详细介绍了微软的一些要求。其一,微软希望席勒和库伊与自己的高管会面,如柯克·科尼斯鲍尔

  • 微软推全新迁移工具:可将Dropbox内容迁移到Microsoft 365

    面向 Microsoft 365 管理员,今天微软推出了全新公开预览版工具。该工具可以轻松地将 Dropbox for Business 的内容迁移到 Microsoft 365。这款工具能够将你的 Dropbox 文件夹、文件和用户迁移到 OneDrive、SharePoint、Teams in Microsoft 365。当你连接到 Dropbox for Business 账号的时候,该服务就会搜索用户及其他们的文件。该服务将自动迁移内容到个人的 OneDrive 账户中,但用户也可以迁移到指定的 OneDrive 账户、SharePoin

  • 苹果宣布Apple Music将支持无损音乐!罗永浩路转粉

    今天苹果宣布,Apple Music将发布支持杜比全景声的空间音频功能,为订阅用户带来业界领先的高质量音乐。不仅如此,Apple Music还将为曲库中的上千万首歌曲带来无损音频选项,这意味着Apple Music订阅用户将能听到与艺人在录音室制作音乐时完全相同的声音。据悉,杜比全景声是一种突破性的沉浸式音频体验,让音乐人能够通过混音,让声音萦绕在空间四周及顶部。Apple Music将通过搭载H1或W1芯片的AirPods和Beats耳机以及最新版本的iP

  • 苹果宣布Apple Music将支持无损音乐 !罗永浩路转粉

    今天苹果宣布,Apple Music将发布支持杜比全景声的空间音频功能,为订阅用户带来业界领先的高质量音乐。不仅如此,Apple Music还将为曲库中的上千万首歌曲带来无损音频选项,这意味着Apple Music订阅用户将能听到与艺人在录音室制作音乐时完全相同的声音。

  • 继亚马逊后 Spotify 跟进苹果即将提供 HiFi 无损音乐功能

    据MacRumors报道,本周Reddit用户themonarc发现了Spotify的无损HiFi音频流媒体服务的蛛丝马迹。 根据Reddit发帖人的说法,在Spotify应用中,通过「快速点击现在播放屏幕上短暂出现的故障图标」,可以进入一个隐藏的HiFi菜单。 HiFi选项支持通过有线耳机进行16位44.1kHz流媒体。然而,目前并没有曲目并没有以Hi-Fi质量播放,这表明服务器端的Hi-Fi功能还没有最终确定。

  • 继Spotify和TME后,网易云音乐凭借高增速赴港上市

    5月26日,朋友圈在被网易云音乐“你的性格主导色”刷屏的同时,网易云音乐正式向香港联交所递交招股书的消息也得到了证实。在港交所披露的招股书中,网易云音乐大量核心运营数据首次披露。2020年,平台营收49亿元,MAU(月活跃用户)1.81亿,在线音乐付费用户1600万,付费率8.8%。招股书显示,2018年至2020年,网易云音乐付费用户快速增长,分别为420万、863万、1600万,最近两年分别同比增长105%和85%,年均复合增长率达95%。(网

  • 王者荣耀音乐扭蛋机活动详情 音乐扭蛋机活动奖励汇总

    王者荣耀音乐扭蛋机活动在5月20日正式的上校了,其中还为大家带来了周瑜小乔的专属皮肤特效,下面就拉为大家详细的介绍一下王者荣耀音乐扭蛋机活动。

  • 微软CEO首次就盖茨争议发声:微软已与2000年不可同日而语

    纳德拉称当下的微软已与2000年不可同日而语凤凰网科技讯 北京时间5月22日消息,星期五,微软CEO萨蒂亚·纳德拉(Satya Nadella)首次就围绕公司联合创始人比尔·盖茨(Bill Gates)行为有关的争议发声。纳德拉称,当前微软非常重视多元化和包容性,会对任何一名员工提出的与工作有关的问题展开调查。纳德拉星期五对CNBC表示,“在我以及所有微软员工看来,当前的微软已与2000年不可同日而语。我感觉,我们已经创造了一种环境,推动公

  • 微软增强了Android版Edge Canary的翻译选项

    微软一直在继续他们的工作,以统一他们的Edge浏览器在不同平台上的代码库和功能,且移植到不同的平台的工作一直在持续进行。最近,当Android版Edge Canary获得微软的Edge优惠券服务时,我们已经看到了这一成果。今天我们又看到了另一项桌面功能的加入,那就是改进了对微软网页翻译服务的支持,并带来了更多的选项。最近的变化与桌面应用程序的使用几乎一致,包括指定你想翻译的语言,并允许向列表中添加更低配语言。 此前,该功能?

  • AI指引下的智能推荐文件即将成为微软Office的默认功能

    微软宣布,一项基于AI的推荐文件功能即将出现在微软365应用程序套件中。有了这项新功能,微软Office将在Windows上的Word、Excel或PowerPoint的 "文件 "选项卡或开始页上显示一个推荐文件列表。这个列表允许你跟踪你周围的工作,并快速访问你最重视的活动的文件,例如文件被编辑过、提及过、或者曾经与你互动的人评论过。在进入PowerPoint、Excel和Word后的初始页上,你会看到微软为你推荐的文件。为你推荐 "使你能?

  • 热门标签

热文

  • 3 天
  • 7天