日韩亚洲国产高清免费视频_国产精品2020观看久久_久久99精品福利久久久_我要看欧美精品一级毛片

 

微軟承認(rèn)Win10中存在新Bug:其會(huì)導(dǎo)致用戶音頻文件損壞

發(fā)布時(shí)間:2021-06-03 10:22:45  |  來源:太平洋電腦網(wǎng)  

如果你是一名音樂發(fā)燒友,那么應(yīng)該知道Flac這種常見的無損音樂格式。Flac音樂文件支持metadata,用戶可以編輯metadata,讓音樂文件帶有藝術(shù)家、所屬專輯、音軌等等信息。

通常來說,metadata和音頻數(shù)據(jù)并不相關(guān),修改metadata并不會(huì)影響音頻本身。

但是,近日微軟官方公布了Win10中存在一個(gè)Bug,在Win10中用資源管理器修改Flac文件的metadata,竟會(huì)導(dǎo)致音頻的損壞!

根據(jù)Windows Latest的報(bào)道,微軟最新發(fā)布的一份支持文件披露,如果在Win10的2004或者更高版本中,使用文件資源管理器修改Flac音樂文件的metadata,就會(huì)損耗Flac音頻文件。

這個(gè)Bug在Win10專業(yè)版、家庭版、企業(yè)版、工作站版乃至其他版本的Win10中均有出現(xiàn)。

根據(jù)微軟本月早些時(shí)候發(fā)布的支持文件,Win10的文件資源管理器導(dǎo)致了這個(gè)錯(cuò)誤,它破壞了Flac文件頭包含的ID3框架也就是metadata,而這個(gè)ID3框架負(fù)責(zé)存儲(chǔ)音頻的注釋,例如音樂標(biāo)題、藝術(shù)家、專輯、曲目編號(hào)等。

在Win10上,F(xiàn)lac的處理程序忽視了ID3框架,該程序認(rèn)為Flac文件在使用4字節(jié)的文件頭,當(dāng)Flac文件被Win10編輯的時(shí)候,ID3框架被覆蓋了,導(dǎo)致沒有了開始代碼,導(dǎo)致了音樂播放器無法識(shí)別被修改后的文件。

因此,在Win10中,如果你直接用文件資源管理器修改Flac音樂文件的標(biāo)題、藝術(shù)家等metadata,會(huì)導(dǎo)致該文件無法播放。

幸運(yùn)的是,微軟已經(jīng)確定了Bug的根本原因,用戶可以通過Windows Update升級(jí)KB5003214補(bǔ)丁進(jìn)行修復(fù)。

在KB5003214補(bǔ)丁中,微軟確認(rèn)了上文提到的錯(cuò)誤已經(jīng)被修復(fù),修改了Flac的標(biāo)題、藝術(shù)家等metadata后,F(xiàn)lac不會(huì)再變得無法播放。

而對(duì)于已經(jīng)損壞了的Flac文件,微軟則發(fā)布了一個(gè)PowerShell腳本來進(jìn)行修復(fù),運(yùn)行該腳本后Flac文件即可重新播放,不過已經(jīng)從ID3框架中丟失了的metadata信息并不能恢復(fù)。

下面是利用PowerShell腳本修復(fù)Flac文件的具體方法。

1、開啟記事本;

2、復(fù)制以下字符,粘貼到記事本中:

# Copyright 2021 Microsoft

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

# Refer to KB5003430 for 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 -shr 7) -ne 0

$blockType = $blockType -band 0x7F

if ($blockType -ne 0)

{

return $false

}

$blockSize = (($stream.ReadByte() -shl 16) -bor ($stream.ReadByte() -shl 8) -bor $stream.ReadByte())

if ($blockSize -lt 34)

{

return $false

}

$minAudioBlockSize = ($stream.ReadByte() -shl 8) -bor $stream.ReadByte()

$maxAudioBlockSize = ($stream.ReadByte() -shl 8) -bor $stream.ReadByte()

if ($minAudioBlockSize -lt 16 -or $maxAudioBlockSize -lt 16)

{

return $false

}

$minFrameSize = (($stream.ReadByte() -shl 16) -bor ($stream.ReadByte() -shl 8) -bor $stream.ReadByte())

$maxFrameSize = (($stream.ReadByte() -shl 16) -bor ($stream.ReadByte() -shl 8) -bor $stream.ReadByte())

$sampleInfo = (($stream.ReadByte() -shl 24) -bor ($stream.ReadByte() -shl 16) -bor ($stream.ReadByte() -shl 8) -bor $stream.ReadByte())

$sampleRate = $sampleInfo -shr 12

$channelCount = (($sampleInfo -shr 9) -band 0x7) + 1

$bitsPerSample = (($sampleInfo -shr 4) -band 0x1F) + 1

[UInt64]$sampleCount = (($stream.ReadByte() -shl 24) -bor ($stream.ReadByte() -shl 16) -bor ($stream.ReadByte() -shl 8) -bor $stream.ReadByte())

$sampleCount = (([UInt64]$sampleInfo -band 0xF) -shl 32) -bor $sampleCount

$MD5HashBytes = New-Object byte[] 16

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

$MD5Hash = [Guid]($MD5HashBytes)

if ($sampleRate -eq 0)

{

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 "MD5 Audio Sample Hash: $MD5Hash"

return $true

}

if ($choice -eq 0)

{

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() -eq 0) {}

# 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 we'll seek back 4 bytes 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、保存文件,在“另存為”對(duì)話框中,將目錄定位到你想要保存PowerShell腳本的位置;

4、在文件名輸入框中,輸入“FixFlacFiles.ps1”,將另存為文件的類型更改為Text Documents (*.txt);

5、進(jìn)入到你保存該P(yáng)owerShell腳本的目錄;

6、右鍵點(diǎn)擊剛剛保存的腳本,然后選擇“使用PowerShell運(yùn)行”;

7、出現(xiàn)提示時(shí),輸入無法播放的Flac文件的文件名,然后按下回車鍵。

微軟建議大家安裝本月推送的可選累積更新,以避免修改Flac文件metadata出現(xiàn)的問題。

關(guān)鍵詞: 微軟 Win10

 

滾動(dòng)

關(guān)于我們 - 聯(lián)系我們 - 版權(quán)聲明 - 招聘信息 - 友鏈交換

2014-2020  電腦商網(wǎng) 版權(quán)所有. All Rights Reserved.

備案號(hào):京ICP備2022022245號(hào)-1 未經(jīng)過本站允許,請(qǐng)勿將本站內(nèi)容傳播或復(fù)制.

聯(lián)系我們:435 226 40@qq.com

日韩亚洲国产高清免费视频_国产精品2020观看久久_久久99精品福利久久久_我要看欧美精品一级毛片

            亚洲日本丝袜连裤袜办公室| 亚洲品质自拍视频| 国产亚洲成aⅴ人片在线观看| 精品国产免费视频| 国产亚洲一二三区| 中文字幕不卡的av| 日韩毛片精品高清免费| 亚洲麻豆国产自偷在线| 亚洲国产日韩a在线播放| 图片区小说区国产精品视频| 日韩高清欧美激情| 看电视剧不卡顿的网站| 国产高清在线观看免费不卡| 成人免费不卡视频| 久久免费国产精品| 成人免费在线播放视频| 亚洲香肠在线观看| 欧美色倩网站大全免费| 在线综合视频播放| 久久综合视频网| 中文字幕在线观看一区| 亚洲综合在线电影| 蜜桃91丨九色丨蝌蚪91桃色| 国产精品伊人色| 91理论电影在线观看| 国产精品家庭影院| 午夜视频一区在线观看| 欧美美女喷水视频| 久久人人超碰精品| 亚洲区小说区图片区qvod| 亚洲国产精品久久久久秋霞影院| 日本vs亚洲vs韩国一区三区二区 | 一区二区三区**美女毛片| 五月综合激情日本mⅴ| 国内一区二区视频| 91免费观看视频在线| 亚洲欧美一区二区三区国产精品| 色天天综合色天天久久| 日韩精品一区二区三区swag| 国产精品久久久久久久久久久免费看 | 欧美日韩一级大片网址| 精品国产三级a在线观看| 国产精品久久久久精k8| 日韩电影免费在线| 成人国产精品免费观看视频| 欧美激情综合五月色丁香小说| 亚洲一区在线视频| 91麻豆精品国产自产在线观看一区 | 成人午夜在线播放| 国产精品久久久久一区二区三区 | 亚洲国产精品久久久久婷婷884| 激情综合色综合久久综合| 99re免费视频精品全部| 亚洲激情网站免费观看| 欧美老人xxxx18| 国产精品福利av| 免费在线观看一区| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 久久―日本道色综合久久| 亚洲女人小视频在线观看| 欧美日韩激情一区二区| 国产精品乱人伦| 美腿丝袜在线亚洲一区| 国产三级精品视频| 在线中文字幕不卡| 中文字幕乱码一区二区免费| 日本成人超碰在线观看| 久久女同互慰一区二区三区| 亚洲成av人片| 国产亚洲精品7777| 免费成人av资源网| 国产日韩欧美一区二区三区综合 | **欧美大码日韩| 制服丝袜在线91| 一区二区三区资源| 成人美女在线视频| 亚洲国产日产av| 久久久99精品久久| 另类的小说在线视频另类成人小视频在线 | 亚洲午夜久久久久中文字幕久| 成人动漫精品一区二区| 亚洲一区中文日韩| 久久精品视频一区| 麻豆一区二区99久久久久| 亚洲国产精品二十页| 欧美福利电影网| 一区二区三区四区视频精品免费| 高清beeg欧美| 亚洲国产三级在线| 欧美国产综合一区二区| 国产一区二区三区久久悠悠色av| 亚洲素人一区二区| 国产精品午夜春色av| 91精品福利视频| 亚洲天堂网中文字| 成人高清在线视频| 91成人在线免费观看| 亚洲天堂中文字幕| 不卡的电影网站| 欧美中文字幕一二三区视频| 亚洲色图一区二区三区| 亚洲精品中文在线观看| 91在线视频免费91| 欧美日韩欧美一区二区| 亚洲五月六月丁香激情| 久久精品视频一区二区三区| 欧美精品第1页| 午夜精品久久久久久久99樱桃| 国产欧美精品国产国产专区| 欧美一级精品在线| 毛片av一区二区三区| 亚洲精品大片www| 国产精品视频一区二区三区不卡| 国产成人精品一区二区三区四区 | 久久99蜜桃精品| 一区二区高清免费观看影视大全 | 色哟哟欧美精品| 一区二区三区影院| 国产亚洲午夜高清国产拍精品| 日韩一二三区视频| 久久99热这里只有精品| 亚洲风情在线资源站| 亚洲欧美日韩国产手机在线| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 亚洲永久免费视频| 国产精品美女久久久久aⅴ| 精品国产乱码久久久久久久| 狠狠色综合播放一区二区| 午夜影院久久久| 一区二区三区在线观看国产| 欧美激情一区三区| 久久精品男人天堂av| 成人av资源下载| 欧美一区二区精品在线| 韩国视频一区二区| 欧美亚洲国产一区在线观看网站 | 成人av在线播放网址| 欧美猛男男办公室激情| 久久超碰97中文字幕| 色欧美乱欧美15图片| 日日骚欧美日韩| 亚洲大型综合色站| 午夜精品免费在线| 夜夜嗨av一区二区三区四季av| 亚洲欧美日韩国产一区二区三区| 久久影院午夜片一区| 久久亚洲私人国产精品va媚药| 粉嫩一区二区三区在线看| 欧美日韩免费一区二区三区| 老鸭窝一区二区久久精品| 91国产免费观看| 蜜桃传媒麻豆第一区在线观看| 色综合久久中文综合久久牛| 日本一区中文字幕| 婷婷一区二区三区| 日韩av不卡一区二区| 色偷偷久久人人79超碰人人澡| 日韩和欧美一区二区三区| 色综合咪咪久久| 欧美aa在线视频| 在线观看日韩一区| 黄色精品一二区| 欧美一区二区在线视频| 福利视频网站一区二区三区| 日韩视频免费观看高清完整版 | 亚洲丝袜美腿综合| 一区二区三区在线视频免费观看| 亚洲色图在线视频| 亚洲一区二区在线免费观看视频| 一区二区三区国产精品| 偷拍一区二区三区四区| 日本高清不卡一区| 狠狠色狠狠色综合系列| 91精品国产入口| 99久久99久久精品免费观看| 久久九九国产精品| 欧美国产禁国产网站cc| 亚洲精品久久7777| 亚洲国产精品一区二区www在线 | 国产精品久久久久一区二区三区共| 国产精品久久久久精k8| 一区二区三区不卡视频| 婷婷开心激情综合| 国内精品自线一区二区三区视频| 欧美一区二区精品久久911| 91在线视频免费观看| 中文字幕在线观看一区二区| 亚洲精品乱码久久久久| 日本中文字幕一区二区有限公司| 欧美日韩国产小视频在线观看| 成人一区二区三区视频| 国产校园另类小说区| 综合电影一区二区三区 | 中文字幕一区二区三区四区不卡| 亚洲国产视频在线| 日韩欧美不卡一区| 国产精品一二三四| 欧美精品日韩综合在线| 国产精品视频第一区| 首页国产欧美久久|