国产中文字幕在线播放_久久久久99精品国产片_66久久国产_国产精品自在在线_亚洲成av人片_国产一级黄色电影_伊人在线视频_欧美黄视频在线观看

 

微軟承認Win10中存在新Bug:其會導致用戶音頻文件損壞

發布時間:2021-06-03 10:22:45  |  來源:太平洋電腦網  

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

通常來說,metadata和音頻數據并不相關,修改metadata并不會影響音頻本身。

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

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

這個Bug在Win10專業版、家庭版、企業版、工作站版乃至其他版本的Win10中均有出現。

根據微軟本月早些時候發布的支持文件,Win10的文件資源管理器導致了這個錯誤,它破壞了Flac文件頭包含的ID3框架也就是metadata,而這個ID3框架負責存儲音頻的注釋,例如音樂標題、藝術家、專輯、曲目編號等。

在Win10上,Flac的處理程序忽視了ID3框架,該程序認為Flac文件在使用4字節的文件頭,當Flac文件被Win10編輯的時候,ID3框架被覆蓋了,導致沒有了開始代碼,導致了音樂播放器無法識別被修改后的文件。

因此,在Win10中,如果你直接用文件資源管理器修改Flac音樂文件的標題、藝術家等metadata,會導致該文件無法播放。

幸運的是,微軟已經確定了Bug的根本原因,用戶可以通過Windows Update升級KB5003214補丁進行修復。

在KB5003214補丁中,微軟確認了上文提到的錯誤已經被修復,修改了Flac的標題、藝術家等metadata后,Flac不會再變得無法播放。

而對于已經損壞了的Flac文件,微軟則發布了一個PowerShell腳本來進行修復,運行該腳本后Flac文件即可重新播放,不過已經從ID3框架中丟失了的metadata信息并不能恢復。

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

1、開啟記事本;

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

# 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、保存文件,在“另存為”對話框中,將目錄定位到你想要保存PowerShell腳本的位置;

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

5、進入到你保存該PowerShell腳本的目錄;

6、右鍵點擊剛剛保存的腳本,然后選擇“使用PowerShell運行”;

7、出現提示時,輸入無法播放的Flac文件的文件名,然后按下回車鍵。

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

關鍵詞: 微軟 Win10

 

關于我們 - 聯系我們 - 版權聲明 - 招聘信息 - 友鏈交換

2014-2020  電腦商網 版權所有. All Rights Reserved.

備案號:京ICP備2022022245號-1 未經過本站允許,請勿將本站內容傳播或復制.

聯系我們:435 226 40@qq.com

欧美日韩欧美一区二区| 91福利在线看| 亚洲欧美日韩综合| 日韩电影免费一区| 亚洲欧美资源在线| 国产一区在线观看麻豆| 免费一级毛片在线观看| 成人av在线电影| 在线免费观看a视频| 国产精品一区二区x88av| 国产一二三区在线| 91国产免费看| 99re66热这里只有精品3直播 | 在线理论视频| 亚洲视频福利| av在线免费观看网| 亚洲精品免费一二三区| 精品69视频一区二区三区| 国产精品日本| 88xx成人永久免费观看| 欧美午夜精品久久久久久孕妇 | 国产91精品一区二区麻豆网站| 亚洲精品888| 欧美自拍视频| 超碰这里只有精品| 超碰91在线观看| 91麻豆精品国产自产在线| 狠狠色丁香久久婷婷综| 九色porny在线| 欧美日韩精品电影| 久久人人97超碰国产公开结果| 宅男在线国产精品| 久久成人av少妇免费| eeuss影院www在线播放| 中文成人av在线| 在线成人av| 久久av中文| а√天堂中文资源在线bt| 欧美高清激情brazzers| 国内精品不卡在线| 一区二区日韩| 国产欧美日韩综合| 日韩视频在线观看| 精品乱码一区二区三区四区| 欧美女子与性| 亚洲欧美综合区自拍另类| 婷婷久久综合九色综合绿巨人| 国产成人av影院| 日日夜夜天天综合| 在线观看欧美黄色| 久久久久免费观看| 亚洲国产二区| 欧美成人基地| 日韩精品视频中文在线观看| 国产视频一区二区三区在线观看 | 精品一区中文字幕| 亚洲人人精品| 亚洲天堂1区| 日韩有码电影| qvod激情图片| 老司机精品福利视频| 91在线一区| 欧美理论电影| 国产精品毛片一区二区三区四区| 午夜黄色一级片| 九九在线视频| 在线āv视频| 精品日韩av| 免费看av不卡| 日本一区二区三区在线观看视频| 欧美精品一区二区三| 精品成人久久av| 麻豆免费精品视频| 国产精品男女| 一区中文字幕| 九色国产在线观看| 永久免费不卡在线观看黄网站| 日韩欧美999| 亚洲黄色录像片| 西西人体一区二区| 妖精视频一区二区三区| 91精选在线| 一二三四社区在线视频6| 性xxxxfjsxxxxx欧美| 亚洲丝袜一区| www.成人69.com| 欧美精品一区二区三区四区| 欧美影片第一页| 欧美色窝79yyyycom| 日韩久久视频| 成人在线视频观看| 成人精品毛片| www999久久| 欧美激情在线精品一区二区三区| 91精品国偷自产在线电影| 久久一区二区三区电影| 国产专区在线播放| 日本在线视频1区| 欧美高清成人| 欧美日韩国产成人在线91| 黄色精品在线看| 亚洲制服丝袜av| 色香蕉久久蜜桃| 国产传媒一区在线| 久久久久久一区二区| 99tv成人| 久久久三级国产网站| 在线精品视频免费观看| 日韩视频一区二区三区在线播放 | 久久激情网站| 国产91精品一区二区麻豆网站 | 国产精品盗摄一区二区三区| 99精品在线免费| 91国产免费观看| av免费在线一区二区三区| 婷婷亚洲成人| 激情伊人五月天久久综合| 国产香蕉久久精品综合网| 久久久久久综合| 中文字幕亚洲精品在线观看 | 99精品国产视频| a亚洲天堂av| 国产精品国产成人国产三级| 99精品黄色片免费大全| 丁香六月久久综合狠狠色| 国内精品在线播放| 成人av电影免费观看| 欧美片在线播放| 青青九九免费视频在线| 啦啦啦啦免费高清视频在线观看1| 在线视频二区| 久久人体大尺度| 凹凸成人精品亚洲精品密奴| 国产精品久久久久久影院8一贰佰 国产精品久久久久久麻豆一区软件 | 2022成人影院| 日日摸夜夜添夜夜添亚洲女人| 欧美视频一区二区三区| 国产无遮挡裸体视频在线观看| 在线观看免费网站| 亚洲专区**| 久久99精品一区二区三区| 国产激情精品久久久第一区二区| 色天天综合久久久久综合片| 欧美欧美欧美欧美| 日本高清中文字幕在线| 欧美黄色成人| 一区二区三区国产盗摄| 一区在线观看免费| 在线国产电影不卡| 亚洲女人被黑人巨大进入| av免费观看一区二区| 碰碰在线视频| 噜噜噜躁狠狠躁狠狠精品视频| 日韩一区国产二区欧美三区| 怡红院成人在线| 日韩激情在线| 99久免费精品视频在线观看| 欧美日韩国产精品自在自线| 成人高清免费在线| 久久亚洲在线| 99热免费精品| 成人av影院在线| 欧美中文字幕不卡| 久草福利在线| 污污影院在线观看| 黄色网在线播放| 成年人视频免费在线播放| 日韩另类在线| 在线观看亚洲精品福利片| 爱情电影网av一区二区| 国产一区丝袜| 黑丝美女一区二区| 国产在线成人| 日日摸夜夜添夜夜添精品视频 | 高h视频在线播放| 欧美aa在线观看| 日韩中文字幕无砖| 日韩精品免费一区二区夜夜嗨| 国产精品啊v在线| 成人av网址在线| 亚洲综合久久久久| 亚洲免费小视频| 国产h在线观看| 天天揉久久久久亚洲精品| 国产白丝精品91爽爽久久| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产精品沙发午睡系列990531| 91久久精品一区二区二区| 日韩欧美在线影院| 香港伦理在线| 亚洲制服一区| 国产精品一区二区三区四区| 日韩美女视频一区二区| 精品小视频在线| 免费在线看污片| 欧美激情电影| 91视频你懂的| 亚洲精品成人免费| 成人免费在线观看视频| 亚洲精品一级|