Android `MediaStore` 变音字符解析问题

问题描述 投票:0回答:0

我遇到了 android

MediaStore
的奇怪问题(我使用 android 13,LineageOS 20.0 发行版)。我的音乐库以
flac
格式存储在计算机上,并正确标记了字段
artist
title
album
等等(
mpd
正确解析并显示所有标签)。在我将它复制到我的 android 设备之前,我首先将所有文件转换为
opus
格式并使用此脚本从相应的
flac
文件复制所有标签(对于单个文件
$f
):

f="$1"
fout="${1%.*}.opus"

TITLE=$(metaflac "$f" --no-utf8-convert --show-tag=TITLE | cut -d '=' -f 2-)
ARTIST=$(metaflac "$f" --no-utf8-convert --show-tag=ARTIST | cut -d '=' -f 2-)
ALBUM=$(metaflac "$f" --no-utf8-convert --show-tag=ALBUM | cut -d '=' -f 2-)
DATE=$(metaflac  "$f" --no-utf8-convert --show-tag=DATE | cut -d '=' -f 2-)
GENRE=$(metaflac "$f" --no-utf8-convert --show-tag=GENRE | cut -d '=' -f 2-)
TRACKNUMBER=$(metaflac "$f" --no-utf8-convert --show-tag=TRACKNUMBER | cut -d '=' -f 2-)
TRACKTOTAL=$(metaflac "$f" --no-utf8-convert --show-tag=TRACKTOTAL | cut -d '=' -f 2-)

# Field "DATE" doesn't work on android, so have to use "YEAR" for compatibility

opusenc\
    --music\
    --bitrate 192\
    --discard-comments\
    --discard-pictures\
    --title "$TITLE"\
    --artist "$ARTIST"\
    --album "$ALBUM"\
    --date "$DATE"\
    --comment "YEAR=$DATE"\
    --genre "$GENRE"\
    --comment "TRACKNUMBER=$TRACKNUMBER"\
    --comment "TRACKTOTAL=$TRACKTOTAL"\
    "$f" "$fout"

刷新

MediaStore
后,所有文件都正确显示了它们的标签(识别
artist
genre
,在
albums
中使用适当的
year
分组并且每个文件都有良好的
title
tracknumber
/
tracktotal
在音乐播放器以及在 Android 设备上的
Audio
应用程序的
Files
部分浏览媒体时),除了两个带有以下标签(使用
opustags
程序提取):

ENCODER=opusenc from opus-tools 0.2
title=Śmiech czy łzy
artist=Dżem
album=Detox
date=1991
YEAR=1991
genre=Polish Blues Rock
TRACKNUMBER=01
TRACKTOTAL=09
ENCODER_OPTIONS=--music --bitrate 192 --discard-comments --discard-pictures
ENCODER=opusenc from opus-tools 0.2
title=Do kołyski
album=2004
date=2004
YEAR=2004
genre=Polish Blues Rock
TRACKNUMBER=07
TRACKTOTAL=12
ENCODER_OPTIONS=--music --bitrate 192 --discard-comments --discard-pictures

其中

artist
分别显示为“
DĹĽem
”和
title
分别显示为“
Ĺšmiech czy Ĺ,zy
”和“
Do koĹ,yski
”。奇怪的是,该艺术家的任何其他曲目(特别是这两张专辑中的曲目)都可以正确显示(
artist
是“
Dżem
”,而包含变音符号的
title
s 也很好)。

让我们关注标签

artist=Dżem
title=Śmiech czy łzy
。更奇怪的是,当我将它们更改为
title=Smiech czy łzy
title=aaaaaaŚmiech czy łzy
时,保持
artist
不变,一切似乎都有效,并且该曲目与其他曲目按“
Dżem
”分组,而不是“
DĹĽem
" 和音乐播放器在标题中正确显示变音符号。

我试过:

  • 手动重置这些标签的值
  • 在没有
    --no-utf8-convert
    的情况下使用上面的脚本并更改系统区域设置
  • 将这些文件的
    flac
    版本复制到android设备
  • 将文件转换为
    mp3
    ,使用
    id3v2
    工具/格式设置标签,然后复制到android。 但没有任何帮助。

有谁知道发生了什么事,我该如何解决?特别是为什么任何其他带有

artist
title
album
包含变音符号的文件都被
MediaStore
正确解析?

android audio metadata mediastore
© www.soinside.com 2019 - 2024. All rights reserved.